Installieren und Debuggen des Quellcodes

Aus Valve Developer Community
Wechseln zu: Navigation, Suche
English (en)Deutsch (de)Français (fr)Italiano (it)日本語 (ja)Polski (pl)Русский (ru)Español (es)中文 (zh)
Bearbeiten

Installieren

  1. Führen Sie das Source SDK aus und wählen Sie „Create a Mod“. Siehe Mod erstellen für Details über den Vorgang.
  2. Wählen Sie einen Compiler
  3. 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

  1. Stellen Sie sicher, dass Sie in der Debug-Konfiguration arbeiten, nicht in der Release-Konfiguration.
  2. 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.
  3. Wählen Sie im angezeigten Fenster in der linken Liste „Debugging“ aus.
  4. Ä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).
  5. Ändere Befehlsargumente so, dass es so etwas wie -allowdebug -dev -sw -game "C:\Steam\SteamApps\SourceMods\MyMod" lautet
  6. Ä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.
  7. 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, dann resources\ nach Source SDK Base\hl2\ (will fix menu strings) und schließlich Source SDK Base\platform (rosa Konsole), vergiss nicht expressions\, 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\
Note.pngBemerkung:Ihnen wird mitgeteilt, dass für <whatever>.exe keine Symbole gefunden werden konnten - das ist normal, da Sie diesen Quellcode nicht haben. Ignorieren Sie die Warnung.

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

  1. 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 mit CFG=release ausführen, um zur Erstellung von Release-Binärdateien zurückzukehren.)
  2. Erstellen und installieren
  3. Öffnen Sie ein Terminalfenster und cd zum Speicherort der ausführbaren Datei, die Sie ausführen
  4. Ausführen von gdb srcds_linux (oder wie auch immer der Name lautet)
  5. 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 unter Hilfe-Haltepunkt.
  • Um einen Ausdruck zu drucken, geben Sie print <expr> ein.