"Keine Quelle für main ()" -Fehler beim Debuggen von einfachem C ++ in Eclipse mit gdb

Ich habe Probleme beim Debuggen eines C ++ - Programms in Eclipse (dem neuesten RC von Helios, der von sich aus mit dem neuesten CDT aktualisiert wurde) unter OSX.

Das Programm ist sehr einfach (im Wesentlichen Lektion 2 aus den OpenGL-Tutorials von NeHe). Es besteht aus einer cpp-Datei und verwendet OpenGL- und Cocoa-Frameworks sowie Verknüpfungen mit libSDL.a und libSDLmain.a.

Die Struktur des Projekts ist sehr einfach: Die Quelldatei (en) befinden sich in einem Unterverzeichnis des Projekts mit dem Namen src / und die ausführbare Datei wird im Stammverzeichnis des Projekts erstellt.

Das Problem ist, dass wenn ich versuche, Haltepunkte hinzuzufügen und zu debuggen, die Haltepunkte perfekt getroffen zu werden scheinen, aber keine Quelle angezeigt wird. Stattdessen wird im Codefenster nur der Fehler "Keine Quelle für main () verfügbar" angezeigt.

Für die Compiler-Flags sind Optimierungen auf "Keine" gesetzt, und für Compiler und Linker ist das Flag für Debugsymbole gesetzt (-g).

Die Debugging-Einstellung in Eclipse ist auf "Standard-Spawn-Fortschritt" und der Debugger auf "gdb" eingestellt.

Das Seltsamste ist, wenn ich versuche, genau dieselbe ausführbare Datei zu debuggen - d. H. Genau das gleiche, das von Eclipse erstellt wurde - mit gdb vom Terminal (Shell) funktioniert dann alles einwandfrei. Haltepunkte werden erreicht, der Quellcode wird angezeigt, überhaupt keine Probleme.

Ich habe sichergestellt, dass sowohl Eclipse als auch die Shell dieselbe ausführbare GDB-Datei verwenden, und zwar (es ist / usr / bin / gdb).

Jetzt kann ich mich irren, aber das alles deutet darauf hin, dass es kein Problem mit den Compiler- und Linker-Flags geben kann (da dieselbe ausführbare Datei von der Shell aus debuggbar ist). Vermutlich liegt das Problem also daran, wie gdb aufgerufen wird aus Eclipse heraus? Vielleicht, wenn von Eclipse aus gdb andere Konfigurationsdateien aufruft oder so, als wenn es von der Shell ausgeführt wird? (Weiß jemand?)

Ich würde mich über jede Hilfe wirklich freuen, denn sie macht mich langsam wahnsinnig!

Bitte lassen Sie mich wissen, ob es weitere nützliche Details gibt - genaue Versionsnummern von Eclipse / cdt / gdb, genaue Linker / Compiler-Befehlszeilen usw. - und ich werde diesen Beitrag sehr gerne mit ihnen aktualisieren.

Vielen Dank im Voraus,

Thoughton.

---bearbeitet @ "vor 14 Stunden" ---

Ich habe die Option "Dateisystempfad hinzufügen" (mit "Unterordner durchsuchen") ausprobiert, aber das hat nicht funktioniert. Ich habe auch versucht, ein neues, komplett flaches Projekt zu erstellen, aber das hat auch nicht funktioniert. Ich habe sogar versucht, eine Galileo-Version (eclipse-SDK-3.5.2RC4 mit CDT-Update) zu bekommen, aber das machte keinen Unterschied (abgesehen davon, dass gdb langsamer startet).

Und noch etwas Merkwürdiges ist mir aufgefallen: Wenn ich die Meldung "Keine Quelle verfügbar" erhalte, wechsle ich zu Eclipse's Console, um die "gdb" -Konsole anzuzeigen, und aktiviere den "Ausführlichen Konsolenmodus", damit ich kommunizieren kann Geben Sie dann die Befehle "l" und "bt" ein und lassen Sie sie erfolgreich arbeiten. Dabei werden die richtige Quelle und der richtige Stapel angezeigt, auf dem mein Haltepunkt erreicht wurde. Was, korrigieren Sie mich, wenn ich falsch liege, bedeuten muss, dass die Informationen vorhanden sind und GDB korrekt aufgerufen wird. Warum wird Eclipse diese Informationen dann nicht sehen?

Ich bin kurz davor, Eclipse aufzugeben, um ehrlich zu sein ... Ich bin auch mit so großen Hoffnungen dazu gekommen.

Jede zusätzliche Hilfe oder Gedanken wäre sehr dankbar.

t.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage