2016-08-27 2 views
1

Ich habe meinen Code als eigenständige .c-Datei gemacht und gelesen, dass die Datei in einem Projekt sein muss, um zu debuggen. Also machte ich ein leeres Projekt und fügte hinzu, meine Datei, um es, setzen einige Haltepunkte und, wenn ich den Debugger ausführen, bekomme ich diese auf der Konsole:Debugging C mit Code :: Blöcke

Setting breakpoints 
Debugger name and version: GNU gdb (GDB) 7.6.1 
Child process PID: 13112 
Error in re-setting breakpoint 2: PC register is not available 
Error in re-setting breakpoint -3: PC register is not available 
In () 

einige Tutorials Versuchte und whatched einige Videos ohne Erfolg. Kennt jemand eine Lösung dafür? Gibt es eine einfachere Möglichkeit, eine .c-Datei zu debuggen?

+0

Die Information, die Sie geben, ist ein wenig spärlich. Einige ältere GDB-Versionen (Ihre eingeschlossen) haben Probleme mit Pfadnamen, die Leerzeichen und/oder Kommas enthalten. Es gab auch einmal ein Problem mit der Solaris GDB-Version und das Debugging von 32-Bit-App-Cores mit einer 64-Bit-GDB. Manchmal ist es bei diesen IDEs einfacher, von vorne anzufangen und den * Inhalt * der Dateien zu kopieren, anstatt komplette Dateien zu importieren. – deamentiaemundi

+0

Sie schlagen vor, ein anderes Projekt zu machen, dann? –

+0

Versuchte, geänderte Pfad auch ... Nichts hat sich geändert, der gleiche Fehler. –

Antwort

0

Aktualisiertes MinGW lädt es von seinem Sourceforge-Repository herunter. Die Version 6.2.0 heruntergeladen, die in diesem link verfügbar ist.

Dann habe ich es auf C: \ entpackt und die Umgebungsvariable Pfad geändert, um den neuen Ordner C: \ MinGW \ bin hinzuzufügen. Um zu wissen, ob Sie es richtig gemacht haben, öffnen Sie einfach CMD und geben Sie gcc --version ein.

Danach habe ich die Compiler und Debugger-Einstellungen von Code :: Blocks geändert, um die neue Version von MinGW und seine ausführbaren Dateien zu verwenden.

Nun ist es richtig kompilieren und debuggen.

1

Für Linux-System, das Sie gdb als Debugger auf diese Weise nutzen könnten:

$ vim hello.c 
# include <stdio.h> 

int main() 
{ 
    printf("hello \n"); 
} 

$ gcc -o hello hello.c 

$ ./hello 
$ gdb hello 
(gdb) break main 
(gdb) run 

und dann können Sie verwenden: c oder weiter n oder nächste s oder Schritt Weitere Details finden this.

+0

Leider benutze ich Windows in dieser Maschine ... –

0

Nach Free Pascal GDB Debugger Tips ist das Problem mit GDB und sie zitieren Bug 14018.

Es scheint, dass Sie eine andere Version von GDB verwenden sollten. Sie schlagen eine Herabstufung auf 7.2 vor. Jetzt glaube ich, dass andere Versionen wie 8.0 verfügbar sind. Ich weiß nicht, ob GDB 8.0 auch darunter leidet.