_CrtSetReportMode
Gibt das Ziel oder die Ziele für einen bestimmten Berichtstyp an, der von _CrtDbgReport generiert wird, sowie für alle Makros, die _CrtDbgReport, _CrtDbgReportW aufrufen, z. B. _ASSERT- und _ASSERTE-Makros, _ASSERT- und _ASSERTE-Makros, _RPT-, _RPTF-, _RPTW- und _RPTFW-Makros und _RPT-, _RPTF-, _RPTW- und _RPTFW-Makros (nur Debugversion).
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 übergeben oder ein ungültiger Modus für reportMode angegeben wird, ruft _CrtSetReportMode den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, legt diese Funktion errno auf EINVAL fest und gibt "– 1" zurück. Weitere Informationen finden Sie unter errno, _doserrno, _sys_errlist und _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 _CrtSetReportMode nicht zum Definieren des Ausgabeziels der Meldungen aufrufen, sind die folgenden Standardwerte gültig:
Assertionsfehler werden an ein Debugmeldungsfenster weitergeleitet.
Warnungen von Windows-Anwendungen werden an das Ausgabefenster des Debuggers gesendet.
Warnungen von Konsolenanwendungen werden nicht angezeigt.
In der folgenden Tabelle werden die Berichtstypen aufgeführt, die in "Crtdbg.h" definiert sind.
Berichtstyp |
Beschreibung |
---|---|
_CRT_WARN |
Warnungen, Meldungen und Informationen, die keine unmittelbare 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 als Ziel zu verwendende bestimmte Datei bzw. den bestimmten Stream zu definieren. |
_CRTDBG_MODE_WNDW |
Erstellt ein Meldungsfeld, um die Meldung zusammen mit der Abort-, Retry- und Ignore-Schaltfläche anzuzeigen. |
_CRTDBG_REPORT_MODE |
Gibt reportMode für den angegebenen reportType-Parameter zurück. 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Jeder Berichtstyp kann mithilfe von einem, zwei oder drei Modi oder keinem Modus gemeldet werden. Daher ist es möglich, mehrere Ziele festzulegen, die für einen einzelnen Berichtstyp definiert werden. 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 );
Außerdem können die Berichterstellungsmodi für jeden Berichtstyp separat gesteuert werden. Sie können beispielsweise angeben, dass ein reportType-Parameter von _CRT_WARN an eine Ausgabedebugzeichenfolge gesendet wird, während _CRT_ASSERT mithilfe eines Debugmeldungsfensters angezeigt und an stderr gesendet wird, wie zuvor veranschaulicht wurde.
Anforderungen
Routine |
Erforderlicher Header |
Optionaler Header |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Bibliotheken: nur Debugversionen von CRT-Bibliotheksfunktionen.
.NET Framework-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.