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 strong> 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