_CrtSetReportMode
Menentukan tujuan atau tujuan untuk jenis laporan tertentu yang dihasilkan oleh _CrtDbgReport
dan makro apa pun yang memanggil_CrtDbgReport
, , _CrtDbgReportW
seperti _ASSERT
, , _ASSERT_EXPR
_ASSERTE
makro dan _RPTF
_RPT
, _RPTW
, makro _RPTFW
(hanya versi debug).
Sintaks
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parameter
reportType
Jenis laporan: _CRT_WARN
, _CRT_ERROR
, dan _CRT_ASSERT
.
reportMode
Mode atau mode laporan baru untuk reportType
.
Nilai hasil
Setelah berhasil diselesaikan, _CrtSetReportMode
mengembalikan mode laporan atau mode sebelumnya untuk jenis laporan yang ditentukan dalam reportType
. Jika nilai yang tidak valid diteruskan sebagai reportType
atau mode yang tidak valid ditentukan untuk reportMode
, _CrtSetReportMode
memanggil handler parameter yang tidak valid seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi ini diatur errno
ke EINVAL
dan mengembalikan -1. Untuk informasi selengkapnya, lihat errno
, _doserrno
, _sys_errlist
, dan _sys_nerr
.
Keterangan
_CrtSetReportMode
menentukan tujuan output untuk _CrtDbgReport
. Karena makro _ASSERT
, , _ASSERTE
, _RPT
dan _RPTF
panggilan _CrtDbgReport
, _CrtSetReportMode
menentukan tujuan output teks yang ditentukan dengan makro tersebut.
Jika _DEBUG
tidak ditentukan, panggilan ke _CrtSetReportMode
akan dihapus selama praproscesing.
Jika Anda tidak memanggil _CrtSetReportMode
untuk menentukan tujuan output pesan, default berikut berlaku:
Kegagalan dan kesalahan pernyataan diarahkan ke jendela pesan debug.
Peringatan dari aplikasi Windows dikirim ke jendela output debugger.
Peringatan dari aplikasi konsol tidak ditampilkan.
Tabel berikut mencantumkan jenis laporan yang ditentukan dalam Crtdbg.h
.
Jenis laporan | Deskripsi |
---|---|
_CRT_WARN |
Peringatan, pesan, dan informasi yang tidak memerlukan perhatian segera. |
_CRT_ERROR |
Kesalahan, masalah yang tidak dapat dipulihkan, dan masalah yang memerlukan perhatian segera. |
_CRT_ASSERT |
Kegagalan pernyataan (ekspresi tegas yang mengevaluasi ke FALSE ). |
Fungsi menetapkan _CrtSetReportMode
mode laporan baru yang ditentukan dalam reportMode
jenis laporan yang ditentukan dan reportType
mengembalikan mode laporan yang ditentukan sebelumnya untuk reportType
. Tabel berikut mencantumkan pilihan yang tersedia untuk reportMode
dan perilaku yang dihasilkan dari _CrtDbgReport
. Opsi ini didefinisikan sebagai bendera bit di Crtdbg.h.
Mode laporan | perilaku _CrtDbgReport |
---|---|
_CRTDBG_MODE_DEBUG |
Menulis pesan ke jendela output debugger. |
_CRTDBG_MODE_FILE |
Menulis pesan ke handel file yang disediakan pengguna. _CrtSetReportFile harus dipanggil untuk menentukan file atau aliran tertentu untuk digunakan sebagai tujuan. |
_CRTDBG_MODE_WNDW |
Membuat kotak pesan untuk menampilkan pesan bersama dengan tombol Batalkan, Coba Lagi, dan Abaikan . |
_CRTDBG_REPORT_MODE |
Mengembalikan reportMode untuk yang ditentukan reportType :1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Setiap jenis laporan dapat dilaporkan menggunakan satu, dua, atau tiga mode atau tanpa mode sama sekali. Oleh karena itu, dimungkinkan untuk memiliki lebih dari satu tujuan yang ditentukan untuk satu jenis laporan. Misalnya, fragmen kode berikut menyebabkan kegagalan pernyataan dikirim ke jendela pesan debug dan ke stderr
:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Selain itu, Anda dapat mengontrol mode atau mode pelaporan untuk setiap jenis laporan secara terpisah. Misalnya, dimungkinkan untuk menentukan bahwa reportType
dari _CRT_WARN
masuk ke string debug output, sementara _CRT_ASSERT
ditampilkan menggunakan jendela pesan debug dan dikirim ke stderr
, seperti yang diilustrasikan sebelumnya.
Persyaratan
Rutin | Header yang diperlukan | Header opsional |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Pustaka: Debug versi pustaka runtime C saja.