Installieren und Debuggen des Quellcodes
Installieren
- Führen Sie das Source SDK aus und wählen Sie „Create a Mod“. Siehe Mod erstellen für Details über den Vorgang.
- Wählen Sie einen Compiler
- Los! Beginnen Sie mit Ihre erste Entität .
Um Ihren Code unter Linux zu kompilieren, siehe Kompilieren unter Linux . Den neuesten Code finden Sie unter GitHub.
Debugging
Debugging ist der Prozess, bei dem ein Mensch das Innenleben eines Programms genau untersucht. Es kann die Ursachen von Abstürzen und anderen Fehlern aufdecken.
Windows
- Stellen Sie sicher, dass Sie in der Debug-Konfiguration arbeiten, nicht in der Release-Konfiguration.
- Klicken Sie im Projektmappen-Explorer (Microsoft Visual C++) mit der rechten Maustaste auf das aktive Projekt (das fettgedruckte) und wählen Sie „Eigenschaften“. Dabei spielt es keine Rolle, ob Sie mit dem Server oder dem Client arbeiten.
- Wählen Sie im angezeigten Fenster in der linken Liste „Debugging“ aus.
- Ändere „Command“ in den Pfad zu der .exe-Datei, die du starten möchtest (dasselbe, das ausgeführt wird, wenn du das betreffende Spiel/den betreffenden Mod spielst, z. B.
C:\Steam\SteamApps\common\source sdk base 2007\hl2.exe
). - Ändere Befehlsargumente so, dass es so etwas wie
-allowdebug -dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod"
lautet - Ändern Sie Working Directory in den Ordner, der die .exe enthält, die Sie für Command ausgewählt haben, z.
C:\Steam\SteamApps\common\source sdk base 2007
. - Vor dem Debuggen müssen Sie alle Spielressourcen in Ihren Mod-Ordner oder Ihre SDK-Basis entpacken (zumindest für 2006). Andernfalls erhalten Sie einen weißen Bildschirm, dann eine rosa Konsole und andere Störungen! Es ist sehr wichtig. Sie müssen Shader (Bug mit weißem Bildschirm) aus
Source SDK Base\vpks
entpacken, dannresources\
nachSource SDK Base\hl2\
(will fix menu strings) und schließlichSource SDK Base\platform
(rosa Konsole), vergiss nichtexpressions\
, sonst bewegt npc nicht seine Lippen und andere Dinge wie Models , Materialien usw. versuchen Sie nicht, andere Source-Engine-Modelle als Ihre Engine-Basis zu verwenden, da Sie sonst Störungen bekommen.
Sie können jetzt jederzeit F5 drücken, um mit dem Debuggen zu beginnen. (Wenn Sie wirklich im Release-Modus debuggen möchten, wiederholen Sie das Obige für diese Konfiguration. Erwarten Sie jedoch nicht, dass die Ergebnisse sehr nützlich sind).
Die Pfade sind für die verwendete Version des SDK eindeutig. Mit Source SDK 2013 könnten die Einstellungen für einen Einzelspieler-Mod beispielsweise wie folgt lauten:
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\
Laufzeitanhang
Wenn Sie einen bereits laufenden Prozess debuggen möchten, wählen Sie Debug > Attach to Process... und wählen Sie ihn aus der Liste aus.
Linux
- Verwenden Sie die Umgebungsvariable
CFG=debug
, wenn Sie den Befehl ausführen, den Sie normalerweise verwenden, um die Makefiles mit dem VPC -Skript zu generieren. (Erneut mitCFG=release
ausführen, um zur Erstellung von Release-Binärdateien zurückzukehren.) - Erstellen und installieren
- Öffnen Sie ein Terminalfenster und cd zum Speicherort der ausführbaren Datei, die Sie ausführen
- Ausführen von
gdb srcds_linux
(oder wie auch immer der Name lautet) - Führen Sie
run <parameters>
aus, um das Programm zu starten
- Führen Sie bei einem Absturz ("segfault")
bt
("backtrace") aus, um den Callstack anzuzeigen. - Um in den Debugger einzubrechen, drücken Sie Strg+C; um danach fortzufahren, führen Sie
cont
aus. - Um einen Breakpoint zu setzen, führen Sie
break <function>
aus. Weitere Einzelheiten finden Sie unterHilfe-Haltepunkt
. - Um einen Ausdruck zu drucken, geben Sie
print <expr>
ein.