C++-Compiler Debuggen

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu C++-Compiler


Projekt > Optionen > C++-Compiler > Debuggen

Verwenden Sie dieses Dialogfeld zum Setzen von Optionen zur C++-Compiler-Fehlersuche und für CodeGuard.

Optionen Beschreibung

Ziel, Übernehmen, Speichern

Siehe Optionen für das Ziel.

Gemeinsame Elemente

Siehe Gemeinsame Elemente auf den Projektoptionsseiten.

Optionen für das Debuggen Beschreibung Compiler-Unterstützung
bcc32 bcc32c bcc64 bccosx bcciosarm bcciosarm64 bccaarm

Debug-Informationen


Debug-Informationen auf Quellebene erzeugen

Schließt Browser-Informationen in erzeugte .OBJ-Dateien ein. Der Compiler übergibt diese Option an den Linker, damit die Debug-Informationen in die TDS-Debug-Datei eingefügt werden können. Bei der Fehlersuche behandelt diese Option die C++-Inline-Funktionen als normale Funktionen. Sie benötigen die Debug-Informationen, um den integrierten Debugger zu verwenden.

Ist diese Option nicht aktiviert, können Sie größere Objektdateien linken und erstellen. Diese Option wirkt sich zwar nicht auf die Ausführungsgeschwindigkeit aus, beeinflusst aber die Zeit beim Compilieren und Linken.

Ist die Option Zeilennummer aktiviert, sollten Sie sicherstellen, dass auf der Seite C++-Compiler Optimierungen die Einstellung Pentium-Befehlsplan aktivieren deaktiviert ist. Ist diese Option aktiviert, entspricht der Quelltext nicht exakt den erzeugten Maschinenanweisungen. Das schrittweise Abarbeiten des Quelltextes kann dadurch durcheinander geraten. Vorgabe = False

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

Zeilennummern für das Debuggen

Fügt in die Objekt- und Objektzuordnungsdateien automatisch Zeilennummern ein. Die Zeilennummern werden vom integrierten Debugger verwendet.

Die Option Debug-Informationen erzeugt automatisch Zeilennummern. Sie können diese Option aber deaktivieren und stattdessen mit der Option Zeilennummern für das Debuggen arbeiten, um die Größe der erzeugten Debug-Informationen zu reduzieren. Mit dieser Einstellung können Sie nach wie vor den Quelltext schrittweise abarbeiten, aber Datenelemente lassen sich dann nicht mehr sehen oder prüfen.

Das Einbeziehen von Zeilennummern vergrößert die Objekt- und Map-Dateien, beeinträchtigt aber nicht die Ausführungsgeschwindigkeit des Programms.

Ist die Option Zeilennummer aktiviert, sollten Sie sicherstellen, dass auf der Seite C++-Compiler Optimierungen die Einstellung Pentium-Befehlsplan aktivieren deaktiviert ist. Ist diese Option aktiviert, entspricht der Quelltext nicht exakt den erzeugten Maschinenanweisungen. Das schrittweise Abarbeiten des Quelltextes kann dadurch durcheinander geraten. Vorgabe = False

YesC++11Feature.png
YesC++11Feature.png

CodeGuard aktivieren

Aktiviert die CodeGuard-Optionen (siehe unten). Wenn Sie diese Option deaktiviert wird, wird CodeGuard deaktiviert, auch wenn einige der folgenden untergeordneten Optionen aktiviert sind. Vorgabe = False

'this'-Zeiger bei Member-Funktionseintritt überwachen

Erzeugt spezielle Epiloge für Member-Funktionen, Konstruktoren und Destruktoren. CodeGuard überprüft den this-Zeiger beim Eintritt in alle Methoden im C++-Quelltext. Diese Option protokolliert Methodenaufrufe zu gelöschten oder ungültigen Objekten, selbst dann, wenn die Methoden selbst nicht auf this zugreifen. Vorgabe = False

Globale und Stack-Datenzugriffe überwachen

Erstellt die Daten und Stack-Layout-Beschreibungen zum schnellen Nachschlagen durch CodeGuard. Anhand dieser Beschreibungen kann CodeGuard Datenverluste und ungültige Zeiger auf lokale, globale und statische Variablen protokollieren. Sie sollten diese Option immer verwenden. Vorgabe = False

Inline-Zeigerzugriff überwachen

Diese CodeGuard-Option erzeugt Aufrufe zum Überprüfen von Zugriffen im Quelltext. Die Option erkennt fast alle Zeigerfehler. Die Programmausführung wird mit dieser Option fünf- bis zehnmal langsamer. Die Aktivierung dieser CodeGuard-Optionen kann sich wesentlich auf die Ausführungsgeschwindigkeit auswirken. Klicken Sie auf den nach unten weisenden Pfeil, um einen Wert (True, False) auszuwählen. Vorgabe = False

YesC++11Feature.png

Inline-Funktionen erweitern

Erweitert C++-Inline-Funktionen. Zum Steuern der Erweiterung von Inline-Funktionen verhält sich die Option Debug-Informationen bei C++-Code etwas anders: Ist die Erweiterung von Inline-Funktionen deaktiviert, werden die Inline-Funktionen erzeugt und wie jede andere Funktion aufgerufen. Vorgabe = True

YesC++11Feature.png
YesC++11Feature.png

CodeView4 kompatible Debug-Info erzeugen

Erzeugt mit CodeView4 kompatible Debug-Informationen. Vorgabe = False

YesC++11Feature.png
YesC++11Feature.png
Hinweis: Wenn Sie sowohl das Debugging als auch die Inline-Erweiterung aktivieren möchten, verwenden Sie die Optionen Debug-Informationen und Inline-Funktionen erweitern.

Siehe auch