Verwenden von nativen Laufzeitüberprüfungen

In C++-Projekten in Visual Studio können Sie mit nativen runtime_checks häufige Laufzeitfehler abfangen. Beispiele:

  • Beschädigung des Stapelzeigers

  • Überläufe lokaler Arrays

  • Beschädigung des Stapels

  • Abhängigkeiten von nicht initialisierten lokalen Variablen

  • Datenverlust nach einer Zuordnung zu einer kürzeren Variablen

    Wenn Sie /RTC mit einem optimierten ( /O) Build verwenden, wird ein Compilerfehler ausgelöst. Wenn Sie in einem optimierten Build ein runtime_checks -Pragma verwenden, hat das Pragma keine Auswirkungen.

    Wenn Sie ein Programm mit aktivierten Laufzeitüberprüfungen debuggen, wird das Programm beim Auftreten eines Laufzeitfehlers standardmäßig unterbrochen und wechselt in den Debugger. Sie können dieses Standardverhalten für jede Laufzeitüberprüfung ändern. Weitere Informationen finden Sie unter Verwalten von Ausnahmen mit dem Debugger.

    In den folgenden Prozeduren wird beschrieben, wie Sie in einem Debugbuild systemeigene Laufzeitüberprüfungen aktivieren und das Verhalten systemeigener Laufzeitüberprüfungen ändern.

    Weitere Themen in diesem Abschnitt enthalten Informationen zu folgenden Vorgängen:

  • Anpassen von Laufzeitüberprüfungen mit der C-Laufzeitbibliothek

So aktivieren Sie systemeigene Laufzeitfehlerüberprüfungen in einem Debugbuild

  • Verwenden Sie die Option /RTC , und stellen Sie eine Verknüpfung zu der Debugversion einer C-Laufzeitbibliothek (z. B. /MDd) her.

    Informationen zum Festlegen der Option in Visual Studio finden Sie im Abschnitt Hinweise des Referenzartikels „/RTC (Laufzeitfehlerüberprüfungen)“. Legen Sie den Wert in der Eigenschaft Grundlegende Laufzeitüberprüfungen und nicht in der Eigenschaft Kleinere Typüberprüfung fest. Die Eigenschaft Kleinerer Typüberprüfung wird nicht empfohlen.

So ändern Sie das Verhalten von systemeigenen Laufzeitfehlerüberprüfungen

  • Verwenden Sie das runtime_checks -Pragma.