Sicherheit
Nach oben zu C++-Compiler
Projekt > Optionen > Erzeugen > C++-Compiler > Sicherheit
Verwenden Sie dieses Dialogfeld, um Sicherheitseinstellungen für den C++-Compiler festzulegen, die die Sicherheit und Qualität des Quellcodes und der Anwendung ermöglichen und verbessern.
| Optionen | Beschreibung |
|---|---|
|
Ziel, Übernehmen, Speichern |
Siehe Optionen für das Ziel. |
|
Gemeinsame Elemente |
Sicherheitsoptionen
Sanitizer fügen Ihrer Anwendung Laufzeitprüfungen hinzu, mit denen die Richtigkeit und Sicherheit des Codes verbessert werden kann.
Verwenden des Address Sanitizer
Wenn Sie eine Anwendung mit aktiviertem Address Sanitizer erzeugen, müssen Sie die Anwendung außerhalb der IDE ausführen. Die Ausführung an einer Eingabeaufforderung wird dringend empfohlen, um Zugriffsverletzungen (AVs) zu vermeiden.
Wenn Sie die Anwendung in der IDE ausführen, erfasst der Debugger Zugriffsverletzungen in Bezug auf die Aufgaben, die der Address Sanitizer durchführt. Ein Prozess wird so lange ausgeführt, bis der Sanitizer einen Fehler findet. In diesem Fall wird eine Meldung auf der Konsole ausgegeben und der Prozess beendet (es ist unbedenklich, den Prozess fortzusetzen, aber diese Meldungen sind irreführend, da sie den Anschein erwecken, dass tatsächlich Fehler vorliegen). Bei der Ausführung über eine Eingabeaufforderung bleibt dieser Text auf dem Bildschirm stehen.
Standardmäßig haben UI-Apps (VCL oder FMX) keine Konsole, insbesondere keine Standardfehlerausgabe. Wenn ein Benutzer die App direkt ausführt:
> myapp.exe
Werden daher keine Fehler zurückgegeben, sondern die App beendet. Um dies zu beheben, ändern Sie die App so, dass das Konsolenuntersystem verwendet wird, oder leiten Sie die Ausgabe wie folgt an eine Protokolldatei (dadurch wird ein stderr erzeugt):
myapp 2> asanlog.txt.
oder
myapp > asanlog.txt 2>&1
Der obige Befehl leitet stderr und stdout an die Protokolldatei weiter.