Ich verwende gdb zum Debuggen von C-Projektquellcode. Ich kompiliere wie folgt:
%Vor%Ich möchte das Debuggen bei einer bestimmten Datei beenden. Also wenn ich den Breakpoint mit
einstelle %Vor%Es sagt:
%Vor%Auch wenn ich einen bestimmten Funktionsnamen (in der main.c-Datei) übergebe, um zu brechen. es sagt: solche Funktion nicht definiert.
Mein aktuelles Verzeichnis hat diese main.c-Datei. Ich benutze Cygwin unter Windows. Wenn ich einen Unterbrechungspunkt mit
festlege %Vor%Es hat einen Unterbrechungspunkt bei einer Hauptfunktion der Cygwin-Datei gesetzt, nicht in meinem Quellcode.
Wie kann ich mein erstes Problem beheben?
nur neugierig, wie zweites Problem zu vermeiden, wenn es den gleichen Funktionsnamen in Cygwin-Dateien und meinem Quellcode gibt?
Wenn Sie Ihre .c
-Datei kompilieren, stellen Sie sicher, dass Sie Folgendes verwenden:
Suchen Sie nach Load Debugging-Symbolen oder nicht?
Wenn nicht:
%Vor%Sie finden die Symboldatei im Verzeichnis obj
Entscheidend ist gcc-Parameter -g während der Kompilierung.
Alles andere ist zweitrangig.
Siehe Haltepunkte in GDB
Ich stieß auch früher auf ein ähnliches Problem. Ich habe gerade den Ordner .metadata gelöscht und das betreffende Projekt erneut importiert, und das funktioniert gut.
Wenn Sie GDB verwenden müssen, geben Sie Folgendes in die Befehlszeile ein
%Vor%Geben Sie nun
ein %Vor%und geben Sie dann den Befehl break
einTags und Links c cygwin breakpoints gdb