Debugging Techniques
Introduction
These are a few techniques which should help you to find bugs more efficiently when you're scripting. It should be noted that any techniques unless otherwise specified will work in each of the BI game titles.
Feel free to add any tips that you may feel will benefit other Operation Flashpoint/Armed Assault fans.
Check for basic errors before running the script
You can use squint to check for syntax and logic errors such as missing semicolons, brackets and incorrect use of types even before running your script in ArmA.
Hints
If something is not working, check which variables could be wrong, check the output of the variables using hints.
- In Armed Assault the arma.RPT is your first and foremost thing to check when you have problems with custom addon configs or mission scripts!
Debug Consoles
Arma: Cold War Assault
- Vektorboson released a debugging console for advanced users that is very helpful at debugging your scripting in real time.
Arma: Armed Assault
- Debug console made by Str. It's in form of addon and it's available in all singleplayer missions, intros and outros. Easy and simple to use (Escape-Enter execute).
- TroopMon V 0.7 *Mission debugger - Complex debugging system providing lot of informations for mission-makers, escpecially about AI.
Arma 2
- Debug console by Str
- TroopMon2 by Charon Productions
- DevCon ny Kju
If you're at an advanced stage of a project, you can save the game when the bug appears and check the variable and script states with Chain of Command's Binary gamefile viewer.
Take On Helicopters
The game already features Debug Console in basic installation.
Keep it simple
If you're having great difficulty solving a problem, simplify the problem, take the part of the mission which does not work, paste it into a new test mission so that you don't have to watch the effect of the rest of the script(s).
Show Script Errors
Start the game with the parameter "-showscripterrors" and this will show syntax issues and other problems right away in-game.
In addition, you can check the .rpt log files that get generated to see past errors and problems in detail.
Addon Tips
If you're scripting for an addon, don't pack the scripts in the PBO, as you have to restart after every change. Rather, make a test mission with the script included there.