Difference between revisions of "Debugging Tips"
(Created page with "Any of your scripts can print a stack trace with the <code>_stackTracer()</code> command (see sample usage below). This will show how you got to a particular execution point, ...") |
|||
Line 13: | Line 13: | ||
assert(target, "Target should never be nil here!") | assert(target, "Target should never be nil here!") | ||
</source> | </source> | ||
+ | |||
+ | [[Category:Scripting]] |
Latest revision as of 00:19, 3 August 2013
Any of your scripts can print a stack trace with the _stackTracer()
command (see sample usage below). This will show how you got to a particular execution point, and will print the values of various variables and other potentially useful information. This can be very helpful if there are several conditions under which a function can be called, or why something went wrong.
The print(msg)
command will print a message the in-game console (which you can turn on with ctrl+/), and logprint(msg)
will print a message to the console, the terminal, and the Bitfighter logfile.
Lua's error command will stop the script, print a message, and cause a stack trace to be printed. Use assert to confirm that a condition is true.
Finally, if you detect an unexpected error condition, you can log a message, trigger a stack trace, and terminate the script with Lua's error function.
logprint("Here's a stack trace:") logprint(_stackTracer()) if target == nil then error("Have a nil target!") end assert(target, "Target should never be nil here!")