Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt das Ziel oder die Ziele für einen bestimmten Berichtstyp an, der von _CrtDbgReport makros generiert wird, und alle Makros, die aufgerufen _CrtDbgReportwerden,_CrtDbgReportW z_ASSERT. B. , _ASSERTE_ASSERT_EXPR Makros und_RPT , _RPTF, _RPTW_RPTFW Makros (nur Debugversion).
Syntax
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parameter
reportType
Berichtstyp: _CRT_WARN, _CRT_ERROR und _CRT_ASSERT.
reportMode
Neuer Berichtsmodus bzw. neue Berichtsmodi für reportType.
Rückgabewert
Nach erfolgreichem Abschluss gibt _CrtSetReportMode den vorherigen Berichtsmodus bzw. die Berichtsmodi für den Berichtstyp zurück, der in reportType angegeben ist. Wenn ein ungültiger Wert als reportType oder ein ungültiger Modus angegeben reportModewird, _CrtSetReportMode wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, setzt diese Funktion errno auf EINVAL und gibt "-1" zurück. Weitere Informationen finden Sie untererrno, _doserrno, _sys_errlistund _sys_nerr.
Hinweise
_CrtSetReportMode gibt das Ausgabeziel für _CrtDbgReport an. Da die Makros _ASSERT, _ASSERTE, _RPT und _RPTF die _CrtDbgReport-Funktion aufrufen, gibt _CrtSetReportMode das Ausgabeziel von Text an, der mit diesen Makros festgelegt wurde.
Wenn _DEBUG nicht definiert ist, werden Aufrufe von _CrtSetReportMode während der Vorverarbeitung entfernt.
Wenn Sie nicht aufrufen _CrtSetReportMode , um das Ausgabeziel von Nachrichten zu definieren, sind die folgenden Standardwerte wirksam:
Assertionsfehler werden an ein Debugmeldungsfenster weitergeleitet.
Warnungen von Windows-Anwendungen werden an das Ausgabefenster des Debuggers gesendet.
Warnungen aus Konsolenanwendungen werden nicht angezeigt.
In der folgenden Tabelle sind die berichtstypen aufgeführt, die in Crtdbg.h.
| Berichtstyp | Beschreibung |
|---|---|
_CRT_WARN |
Warnungen, Nachrichten und Informationen, die keine sofortige Aufmerksamkeit erfordern. |
_CRT_ERROR |
Fehler, nicht behebbare Probleme sowie Probleme, die unmittelbare Aufmerksamkeit erfordern. |
_CRT_ASSERT |
Assertionsfehler (überwachte Ausdrücke, die FALSE ergeben). |
Die _CrtSetReportMode-Funktion weist den in reportMode angegebenen neuen Berichtsmodus dem Berichtsmodus zu, der in reportType angegeben ist, und gibt den zuvor definierten Berichtsmodus für reportType zurück. In der folgenden Tabelle werden die verfügbaren Optionen für reportMode sowie das resultierende Verhalten von _CrtDbgReport aufgeführt. Diese Optionen werden als Bitflags in Crtdbg.h definiert.
| Berichtsmodus | _CrtDbgReport-Verhalten |
|---|---|
_CRTDBG_MODE_DEBUG |
Schreibt die Nachricht in das Ausgabefenster des Debuggers. |
_CRTDBG_MODE_FILE |
Schreibt die Nachricht an ein vom Benutzer bereitgestelltes Dateihandle. _CrtSetReportFile sollte aufgerufen werden, um die spezifische Datei oder den datenstrom zu definieren, die als Ziel verwendet werden soll. |
_CRTDBG_MODE_WNDW |
Erstellt ein Meldungsfeld, um die Nachricht zusammen mit den Schaltflächen "Abbrechen", "Wiederholen" und "Ignorieren " anzuzeigen. |
_CRTDBG_REPORT_MODE |
Gibt reportMode für den angegebenen reportType-Parameter zurück.1 _CRTDBG_MODE_FILE2 _CRTDBG_MODE_DEBUG4 _CRTDBG_MODE_WNDW |
Jeder Berichtstyp kann mithilfe von einem, zwei oder drei Modi oder keinem Modus gemeldet werden. Daher ist es möglich, für einen einzelnen Berichtstyp mehr als ein Ziel definiert zu haben. Beispielsweise führt das folgende Codefragment dazu, dass Assertionsfehler an einen Debugmeldungsfenster und an stderr gesendet werden:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Darüber hinaus können Sie den Berichtsmodus oder die Modi für jeden Berichtstyp separat steuern. Beispielsweise ist es möglich, anzugeben, dass eine reportType von einer von _CRT_WARN zu einer Ausgabedebug-Zeichenfolge wechselt, während sie _CRT_ASSERT mithilfe eines Debugnachrichtenfensters angezeigt wird und an stderr, wie zuvor dargestellt, gesendet wird.
Anforderungen
| Routine | Erforderlicher Header | Optionaler Header |
|---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Bibliotheken: Nur Debugversionen der C-Laufzeitbibliotheken.