Difference between revisions of "DebugMode"

From The Battle for Wesnoth Wiki
 
(Building the game with extra debugging)
(12 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
== Debug Mode ==
 
== Debug Mode ==
 
The game can be built to support debugging
 
by supplying ''--enable-debug'' as an argument to ''configure'' during
 
the build process.  Currently this enables
 
a few code snippets for the benefit of an external debugging tool like ''gdb'',
 
and calls the compiler with ''-g'' and ''-O0'' flags.
 
You probably don't want to strip a debugging build, since the symbols
 
are needed for the debugging tool.
 
Note than an unstripped debug build on linux is over 80MB, compared to 2-3MB stripped.
 
It is a good idea to run a debug build of the game if you do development,
 
since it can be necessary to diagnose serious problems.
 
  
 
Running the game with commandline option ''--debug'' or ''-d''
 
Running the game with commandline option ''--debug'' or ''-d''
 
enables '''debug mode''' within the game.
 
enables '''debug mode''' within the game.
This works whether ''--enable-debug'' was used to build the game or not.
 
Debug mode displays additional information, and enables
 
context menu options to create units and changing unit sides.
 
Debug mode can also be enabled within the game using :debug (see [[CommandMode]]),
 
and on Mac versions of the game, by holding down the Option key when
 
starting Wesnoth.
 
== Debug mode is disabled when you play a network multiplayer game. ==
 
  
Debug mode also enables some additional commands in [[CommandMode]].
+
Debug mode displays additional information.  It also enables
 +
context menu options to create units anywhere on the map, changing unit sides, and some additional [[CommandMode]] commands.  If you create units in debug mode, you can then use the :unit command to set the unit's attributes (see [[CommandMode]]).
 +
 
 +
Debug mode can also be enabled within the game using :debug (see [[CommandMode]]), and on Mac versions of the game, by holding down the Option key when starting Wesnoth.
 +
 
 +
Note: Debug mode is not safe with replays. If you enter debug mode, create a unit, move it, and then save replay, the replay will be corrupt since the unit creation is not recorded and thus all actions related to it will cause OOS errors. 
 +
 
 +
''' Debug mode is disabled when you play a network multiplayer game. '''
 +
 
 +
== Building the game with extra debugging ==
 +
 
 +
The game can be built to support debugging, enabling a few code snippets for the benefit of external debuggers like ''gdb'', and disabling compiler optimizations.
 +
 
 +
It is a good idea to run a debug build of the game if you do development, since it can be necessary to diagnose serious problems.
 +
 
 +
'''scons:'''
 +
 
 +
scons build=debug [...]
 +
 
 +
'''cmake:'''
 +
 
 +
cmake -DCMAKE_BUILD_TYPE=Debug [...] <path to top source dir>
 +
make
  
Debug mode also adds a new context menu item: right click and select 'Create Unit'
+
An unstripped debug build on linux is over 400 MB, compared to around 16 MB stripped. You probably don't want to strip a debugging build, though, since the extra symbols are required by debug tools.
and you will be able to create any unit anywhere on the map.
 
You can then use the :unit command to set the unit's attributes (see [[CommandMode]]).
 
  
 
== See Also ==
 
== See Also ==
Line 33: Line 35:
 
* [[DeveloperResources]]
 
* [[DeveloperResources]]
  
 +
[[Category:Building and Installing]]
 +
[[Category:Development]]

Revision as of 06:36, 21 July 2015

Debug Mode

Running the game with commandline option --debug or -d enables debug mode within the game.

Debug mode displays additional information. It also enables context menu options to create units anywhere on the map, changing unit sides, and some additional CommandMode commands. If you create units in debug mode, you can then use the :unit command to set the unit's attributes (see CommandMode).

Debug mode can also be enabled within the game using :debug (see CommandMode), and on Mac versions of the game, by holding down the Option key when starting Wesnoth.

Note: Debug mode is not safe with replays. If you enter debug mode, create a unit, move it, and then save replay, the replay will be corrupt since the unit creation is not recorded and thus all actions related to it will cause OOS errors.

Debug mode is disabled when you play a network multiplayer game.

Building the game with extra debugging

The game can be built to support debugging, enabling a few code snippets for the benefit of external debuggers like gdb, and disabling compiler optimizations.

It is a good idea to run a debug build of the game if you do development, since it can be necessary to diagnose serious problems.

scons:

scons build=debug [...]

cmake:

cmake -DCMAKE_BUILD_TYPE=Debug [...] <path to top source dir>
make

An unstripped debug build on linux is over 400 MB, compared to around 16 MB stripped. You probably don't want to strip a debugging build, though, since the extra symbols are required by debug tools.

See Also