2011-10-09 24 views
5

मुझे बग के साथ कोड लिखा गया है।लिस्प और एसएलईएमई डिबगिंग, त्रुटि "स्रोत स्थान नहीं मिल सका"

उदाहरण:

(print (/ 1 0)) 

मैं के साथ सी-सी सी सी संकलन कोशिश कर रहा हूँ। और स्टैक फ्रेम के साथ त्रुटि पकड़ो।

मैं उस कोड में लाइन देखना चाहता हूं जहां एक त्रुटि हुई। स्टैक फ्रेम और कैच की गई त्रुटि में लाइन पर 'v' पर क्लिक किया गया।

Error: Cannot find source location for: #<COMPILED-CODE-LOCATION 
(SB-C::VARARGS-ENTRY /)> 

मैं अपने कोड में लाइन पर कैसे जा सकता हूं?

स्क्रीनशॉट: enter image description here

+0

आपका क्या मतलब है, आप सी-सी सी-सी के साथ संकलित कर रहे हैं? क्या यह कुंजी संयोजन कीचड़-संकलन-फ़ाइल से जुड़ा हुआ है? –

+0

'सी-सी सी-सी' - बिंदु पर शीर्ष-स्तर के फॉर्म को संकलित करें। –

उत्तर

6

आप त्रुटि से देख सकते हैं, लाइन आप के लिए कूद करना चाहते हैं, पैकेज SB-C में कहीं है, जो SBCL का हिस्सा है। यदि आपके पास एसबीसीएल स्रोत नहीं हैं (आपने बाइनरी स्थापित की है या उन्हें हटा दिया है), तो आपको उन्हें (अपने वर्तमान एसबीसीएल संस्करण से प्रासंगिक) प्राप्त करना चाहिए और फिर उन्हें .sbclrc में जोड़ें (http://www.cliki.net/SLIME%20Features के अनुसार):

(setf (logical-pathname-translations "SYS") 
     '(("SYS:SRC;**;*.*.*" #P"/opt/sbcl/src/**/*.*") 
     ("SYS:CONTRIB;**;*.*.*" #P"/opt/sbcl/contrib/**/*.*"))) 

या बस स्रोत से एसबीसीएल संकलित करें और यह पता चलेगा कि वे कहां हैं।

+0

क्षमा करें, मैं उलझन में हूं और एक त्रुटि को सही नहीं जोड़ता, मैं इसे ठीक करता हूं। –

+0

वैसे भी, समाधान एक जैसा होना चाहिए। –

+0

.sbclrc में सेट अप करें (एसबी-एक्सटी: सेट-एसबीसीएल-स्रोत-स्थान "/ पथ/से/एसबीसीएल/स्रोत /")। स्रोत: एसबीसीएल स्रोत ढूंढना [लिंक] (http://xach.livejournal.com/300290.html) –

0

क्या आपके पास उस रेखा के ऊपर कहीं भी (घोषणा करें (डीबग अनुकूलित करें) है? यह फ़ंक्शन यह सुनिश्चित करेगा कि आपके सिस्टम में सभी डिबगिंग डेटा हो सकें।

संबंधित मुद्दे