microsoft / microsoft/vscode-cpptools

Breakpoint's is not triggered while debugging the gameserver plugin

Offen
#2,383 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

debugger
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

Type: Debugger

  • OS and Version: Ubuntu 16.04
  • VS Code Version: 1.25.1
  • C/C++ Extension Version: 0.17.7
  • Other extensions you installed (and if the issue persists after disabling them): C++ Intellisense, CMake, CMake Tools (I have much more, not sure this would be a good idea to place all of them).

Can not debug plug-in for game server using visual studio code. Server is build with gcc, project is located at https://gitlab.com/evol/evol-all. I can debug server itself, but can not debug plug-in.

To Reproduce
Steps to reproduce the behavior:

  1. Build the server and plugin
  2. Setup breakpoints in the server code and plug-in code
  3. Run the server
  4. Trigger actions
  5. Debugger is paused at server code breakpoints, but not at plug-in’s breakpoints.

I think that may be connected with symlinks, coz plug-in folder is symbolic linked with another location. For example, i have project placed in /home/acsvln/development/evol folder. Plug-in is located in /home/acsvln/development/evol/server-code/src/evol folder. Folder with path /home/acsvln/development/evol/server-plugin is symlinked with /home/acsvln/development/evol/server-code/src/evol.
While debugging plug-in, debugger is paused at server code module with same name. I try to debug:
/home/acsvln/development/evol/server-code/src/evol/src/emap/atcommand.c
but i have pause at
/home/acsvln/development/evol/server-code/src/map/atcommand.c.
Same module names may be problem too.
Moreover, when i set breakpoints in the plug-in source code, i can not set them in some locations, where usually breakpoints can be set.
Technically, i can debug plugin with gdbtui, so problem is connected with either visual studio code, either c++ plugin.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das Verhalten der Haltepunkte mit dem Projekt evol-all zu reproduzieren, und vergleiche das Debugging in VS Code mit gdbtui. Untersuche den symbolisch verknüpften server-plugin-Pfad und die im Bericht beschriebenen doppelten atcommand.c-Positionen. Erledigt ist die Aufgabe, wenn Haltepunkte im Plugin-Quellcode gebunden werden und an der erwarteten Datei statt am Servermodul pausieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cpp
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.