Installing and Debugging the Source Code

From Valve Developer Community
Jump to: navigation, search
Español Français Polski Русский 日本語 简体中文

Installing

  1. Run the Source SDK and choose Create a Mod. See Create a Mod for details about the process.
  2. Choose a compiler
  3. Go! Get started with Your First Entity.

To compile your code on Linux, see Compiling under Linux. To get the latest code, see GitHub.

Debugging

Debugging is the process of a human examining closely the inner workings of a program. It can reveal the causes of crashes and other bugs.

Windows

  1. Make sure you are working in the Debug configuration, not Release.
  2. In the Solution Explorer (Microsoft Visual C++), right-click on the active project (the one in bold) and choose Properties. It doesn't matter whether you're working with the server or client.
  3. In the window that appears, choose Debugging from the left-hand list.
  4. Change Command to the path to the .exe file you want to launch (the same on that runs when you play the game/mod in question, e.g. C:\Steam\SteamApps\common\source sdk base 2007\hl2.exe).
  5. Change Command Arguments to read something like -allowdebug -dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod"
  6. Change Working Directory to the folder containing the .exe you chose for Command e.g. C:\Steam\SteamApps\common\source sdk base 2007.

You can now press F5 at any time to start debugging. (If you really do want to debug in Release mode, repeat the above for that configuration. But don't expect the results to be very useful).

The paths will be unique to the version of the SDK being used. For example, with Source SDK 2013, the settings for a single player mod might be:

   Command:           C:\Program Files (x86)\Steam\steamapps\common\Source SDK Base 2013 Singleplayer\hl2.exe
   Command Arguments: -allowdebug -dev -sw -condebug -console -toconsole -game "C:\My_Mod\source-sdk-2013\sp\game\mod_hl2" +map my_map
   Working Directory: C:\Program Files (x86)\Steam\steamapps\common\Source SDK Base 2013 Singleplayer\
Note:You will be told that symbols could not be found for <whatever>.exe - this is normal, as you don't have that source code. Ignore the warning.

Run-time attachment

If you want to debug a process that is already running, choose Debug > Attach to Process... and select it from the list.

Linux

  1. Disable OPTFLAGS in the root makefile
  2. Uncomment DEBUG in your project's makefile.
    Confirm:Change it to read -O0 -g -ggdb3.
  3. Make and Install
  4. Open a terminal window and cd to the location of the executable you are running
  5. Perform gdb srcds_linux (or whatever the name is)
  6. Perform run <parameters> to start the program
  • On a crash ("segfault"), do bt ("backtrace") to see the callstack.
  • To break into the debugger, press Ctrl+C; to continue afterwards perform cont.
  • To set a breakpoint, do break <function>. See help breakpoint for more details.
  • To print an expression, do print <expr>.