< Documentation

Debugging

The LuminousForts project is compromised of C++ code, models in Blender, textures and maps in Hammer.

Windows

Follow the documentation found on the Valve Wiki: Launching from Visual Studio 2013

Linux (Visual Studio Code)

Create a launch configuration using the example below

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${env:HOME}/.local/share/Steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2_linux",
            "args": [
                "-game",
                "sourcetest",
                "-steam",
                "-game",
                "${env:HOME}/.local/share/Steam/steamapps/sourcemods/luminousforts"
            ],
            "stopAtEntry": false,
            "cwd": "${env:HOME}/.local/share/Steam/steamapps/common/Source SDK Base 2013 Multiplayer/",
            "environment": [{
                "name": "LD_LIBRARY_PATH",
                "value": "${env:HOME}/.local/share/Steam/steamapps/common/Source SDK Base 2013 Multiplayer/bin"
            }],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Linux (GDB)

Run the command line GDB debugger

GAME_DEBUGGER=gdb ~/.steam/steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2.sh  -game sourcetest -steam -game ~/.local/share/Steam/steamapps/sourcemods/luminousforts

Linux (strace)

Create strace logs. This is useful for figuring out incorrectly reference model, texture and resource filepaths

GAME_DEBUGGER="strace -f -o strace.log" ~/.steam/steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2.sh -game sourcetest -steam -game ~/.local/share/Steam/steamapps/sourcemods/luminousforts

Linux (memory debugging)

Replacing the default memory allocator with tcmalloc debug

GAME_DEBUGGER="gdb" LD_PRELOAD="../src/thirdparty/gperftools-2.0/.libs/libtcmalloc_debug.so:$LD_PRELOAD" ~/.steam/steam/steamapps/common/Source SDK Base 2013 Multiplayer/hl2.sh  -game sourcetest -steam -game ~/.local/share/Steam/steamapps/sourcemods/luminousforts