लुआ में मैं utils.debug()
कहा जाता है एक समारोह है और मुझे क्या करना चाहते हैं मेरी लुआ कोड में इसका इस्तेमाल करते हैं इस प्रकार है:लुआ और सी ++ एपीआई हो रही क्रियान्वित जानकारी
function Foo:doSomething
if (/* something */) then
print("Success!")
else
utils.debug()
end
end
function Foo:doSomethingElse
if (/* something else */) then
print("Awesome!")
else
utils.debug()
end
end
मैं चाहूँगा भर में इसका इस्तेमाल करने के लिए मेरे लुआ कोड मुझे डीबग करने में मदद करने के लिए। नतीजतन, मैं अपने सी ++ कोड को जानना चाहता हूं कि लुआ कोड में utils.debug()
कहां से बुलाया गया था। मैं lua_Debug
और lua_getinfo
में देखा है और वे सुंदर मैं क्या चाहते हैं उसके पास लगते हैं, लेकिन मैं एक टुकड़ा याद कर रहा हूँ:
int MyLua::debug(lua_State* L)
{
lua_Debug ar;
lua_getstack(L, 1, &ar);
lua_getinfo(L, ??????, &ar);
// print out relevant info from 'ar'
// such as in what function it was called, line number, etc
}
है यह क्या lua_Debug struct के लिए है या वहाँ एक और सुविधा या विधि मैं का उपयोग करना चाहिए है यह करो?
lua_Debug info;
int level = 0;
while (lua_getstack(l, level, &info)) {
lua_getinfo(l, "nSl", &info);
fprintf(stderr, " [%d] %s:%d -- %s [%s]\n",
level, info.short_src, info.currentline,
(info.name ? info.name : "<unknown>"), info.what);
++level;
}
अधिक जानकारी के लिए documentation for lua_getinfo
देखें:
fyi lua में एक समर्थन मेलिंग सूची है, यदि आप यहां एक सैद्धांतिक उत्तर नहीं देते हैं तो आप भी कोशिश कर सकते हैं। –
मैं बिल्कुल पूछ रहा हूं कि आप क्या पूछ रहे हैं। क्या आप पूछ रहे हैं कि 'lua_getinfo' का उपयोग कैसे करें? चूंकि मैनुअल में [यह क्या करता है पर बहुत अच्छा प्रलेखन] है (http://www.lua.org/manual/5.1/manual.html#lua_getinfo)। –