प्रक्रिया करने के लिए संलग्न हो सकता है मेरी कंपनी का एक प्रोग्राम है जो लूआ को अपने रनटाइम में एम्बेडेड करता है, डिस्क से .lua
फ़ाइलों को लोड करता है और बार-बार परिभाषित कार्यों को निष्पादित करता है।लुआ डीबगर जो
क्या चल रहे प्रक्रिया से जुड़ने का कोई तरीका है और मेरे .lua
फ़ाइलों में ब्रेकपॉइंट सेट करें? (मैं लुआ वितरण, या शायद एक तीसरे पक्ष के आईडीई कि दृश्य-स्टूडियो की तरह जीयूआई breakpoints प्रदान करता है के हिस्से के रूप gdb शैली कमांड लाइन डिबगिंग को स्वीकार करता हूँ।)
या मैं क्या कर रहा हूँ है रनटाइम की प्रकृति को डिस्क से यादृच्छिक फाइलों को लोड करने की प्रकृति को पूरी तरह से बकवास और असंभव मांगना?
संपादित: ऐसा लगता है कि यह है कि लुआ की अपनी debug.getinfo()
समारोह एक दिया समारोह के लिए स्रोत फ़ाइल निर्धारित कर सकते हैं अतर्कसंगत नहीं है, यह देखते हुए, और debug.sethook()
में प्रवेश किया कोड के प्रत्येक नई लाइन के लिए एक कॉलबैक की अनुमति देता है की तरह। इसलिए, डिस्क से स्रोत कोड लोड करना उचित है और यह बताने में सक्षम होना चाहिए कि दुभाषिया उस फ़ाइल से कोड की किसी विशेष पंक्ति को निष्पादित कर रहा है। प्रश्न बनी हुई है: मैं एक मौजूदा प्रक्रिया पर कैसे लूंगा जिसमें लूआ दुभाषिया है और अपना खुद का ट्रेस फ़ंक्शन इंजेक्ट करें (जो तब फ़ाइल/लाइन नंबर जोड़े और निष्पादन रोक सकता है)?
require 'remdebug.engine'.start()
यह RemDebug लुआ डिबगर इंजन शुरू होता है और एक नियंत्रक से कनेक्ट करने की कोशिश करता है:
मैं http://www.eclipse.org/koneki/ldt/ पर स्थानांतरित हो गया हूं, इसमें एक आदर्श और एकीकृत डीबगर है, अनुशंसित – daven11
ऊपर दिया गया लिंक मृत है। –