Ich habe ein Programm in C++ geschrieben und C mit der soirce. Wenn ich das Programm mit GDB ausführe, erhalte ich Zeilennummern und Zugriff auf die Quelle für den C++ - Code, aber nicht den C-Code (d. H. Stack-Trace verweist mich auf die aufgerufene C++ - Funktion, aber nicht auf C). Außerdem weiß ich, dass der C-Code Fehler enthält.GDB mit C++, die C-Code ruft
Gibt es eine Möglichkeit, wie ich den C-Code auch in GDB angezeigt bekommen kann? Es wäre sehr nützlich zu sehen, welche Zeilen im C-Code mich Probleme verursachen, aber wie es steht, bekomme ich nur Speicheradressen, wenn das Programm von einem Problem abstürzt.
Außerdem bin Erzeugen ich meine Make-Datei CMake mit der Einstellung set(CMAKE_CXX_FLAGS, "-g -fopenmp -Wall")
Was meinen Sie mit "Anruf"? Und wie ist alles aufgebaut? Sie müssen die Debugging-Unterstützung in allen Kompilierungen aktivieren, um sicherzustellen, dass Symbole usw. enthalten sind. – unwind
Kompilieren Sie es mit Debugging-Optionen. –
Das Makefile wird von CMake erzeugt, mit set (CMAKE_CXX_FLAGS, "-g -fopenmp -Wall"). Gibt es eine Markierung, die ich mit einschließen muss, um Debugging für C auch zu aktivieren? Ich dachte -g würde sich darum kümmern – QtizedQ