_RPT, _RPTF, _RPTW, _RPTFW Makros

Verfolgt den Fortschritt einer Anwendung durch das Generieren eines Debugberichts (nur in der Debugversion).Beachten Sie, dass n die Anzahl der Argumente in args angibt und 0, 1, 2, 3, 4 oder 5 sein kann.

_RPTn(
   reportType,
   format,
...[args]
);
_RPTFn(
   reportType,
   format,
   [args]
);
_RPTWn(
   reportType,
   format 
   [args]
);
_RPTFWn(
   reportType,
   format 
   [args]
);

Parameter

  • reportType
    Meldet den Typ: _CRT_WARN, _CRT_ERRORoder _CRT_ASSERT.

  • format
    Formatsteuerzeichenfolge verwendet, um die für eine Benutzer zu erstellen.

  • args
    Ersetzung von formatArgumente verwendet.

Hinweise

Alle diese Makros und nehmen die reportTypeformatParameter.Darüber hinaus können sie auch nähmen zu vier zusätzlichen Argumenten auf, durch die Zahl, die dem Makronamen angefügt wird.Beispiel: _RPT0 und keine zusätzlichen _RPTF0-Argumente annehmen und _RPT1_RPTF1arg1, _RPT2 und _RPTF2 nehmen arg1 und arg2usw.

Die _RPT und _RPTF Makros eignen sich zur printf-Funktion ähnlich, da sie verwendet werden können, um den Fortschritt einer Anwendung während des Debuggens Prozesses zu verfolgen.Allerdings sind diese Makros flexibler als printf , da es nicht erforderlich ist, in #ifdef-Anweisungen eingeschlossen werden, um sie in einem Verkaufsversionsbuild einer Anwendung aufgerufen werden kann.Diese Flexibilität wird erreicht, indem das _DEBUG Makro verwendet. _RPT und die _RPTF Makros sind nur verfügbar, wenn das _DEBUG-Flag definiert ist.Wenn _DEBUG nicht definiert wird, werden Aufrufe dieser Makros während des Präprozessorlaufs entfernt.

Die _RPTW und _RPTFW Makros wird Breitzeichenversionen dieser Makros.Sie können z. B. Zeichenfolgen, und nehmen wprintf als Argumente mit Breitzeichen.

Die _RPT Makros rufen die _CrtDbgReport-Funktion auf, um einen Benutzer mit einer für eine Debugbericht generiert werden soll.Die _RPTW Makros rufen die _CrtDbgReportW-Funktion auf, um denselben Bericht mit Breitzeichen zu generieren.Die _RPTF und _RPTFW Makros wird ein Debugbericht mit der Quelldatei sowie die Zeilennummer, in der das Makro Berichts zusätzlich zum Aufruf für eine Benutzer.Die für eine Benutzer wird mithilfe der Argumente in]n[ argdie format Zeichenfolge unter Verwendung der gleichen Regeln ersetzt, die von der printf-Funktion definiert sind.

_CrtDbgReport oder Debugbericht generiert den _CrtDbgReportW und bestimmt die Ziele auf Grundlage des aktuellen Berichts ändert und der Datei, die für reportTypedefiniert sind.Die _CrtSetReportMode und _CrtSetReportFile-Funktionen werden verwendet, um die Ziele für jeden Typ für Berichte zu definieren.

Wenn ein _RPT Makro aufgerufen wird und weder _CrtSetReportMode noch _CrtSetReportFile aufgerufen wurde, werden Meldungen wie folgt angezeigt.

Typ des Berichts

Ziel Ausgabe

_CRT_WARN

Warnender Text wird nicht angezeigt.

_CRT_ERROR

Ein Popupfenster.Dieselbe Bedeutung wie _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); angegeben worden war.

_CRT_ASSERT

Dieselbe Bedeutung wie _CRT_ERROR.

Wenn das Ziel eine Debug- Meldungsfenster ist und der Benutzer die Wiederholen Schaltfläche auswählt, gibt 1 zurück _CrtDbgReportW oder _CrtDbgReport und bewirkt, dass diese Makros, den Debugger zu starten, vorausgesetzt, dass rechtzeitiges Debuggen (Just-In-Time) aktiviert ist.Weitere Informationen zur Verwendung dieser Makros als Mechanismus für fehlerbehandlungs Debuggen finden Sie unter Verwenden von Makros zum Überprüfen und Berichterstellung.

Zwei andere Makros vorhanden sind, die einen Debugbericht generiert werden.Das _ASSERT Makro generiert einen Bericht, jedoch nur, wenn der Ausdruck - Argument auf FALSE ergibt._ASSERTE ist genau wie _ASSERT, aber schließen den fehlgeschlagenen Ausdruck im generierten Bericht ein.

Anforderungen

Makro

Erforderlicher Header

_RPT Makros

<crtdbg.h>

_RPTF Makros

<crtdbg.h>

_RPTW Makros

<crtdbg.h>

_RPTFW Makros

<crtdbg.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Bibliotheken

Debugversionen von nur C .

Obwohl diese Makros sind und erhalten werden, indem Crtdbg.h enthält, muss die Anwendung mit einer der Bibliotheken verknüpfen, da diese Debuggen von Makros andere Laufzeitfunktionen aufrufen.

Beispiel

Weitere Informationen finden Sie im Beispiel in _ASSERT Thema.

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Debug- Routinen