_CrtSetReportMode

Menentukan tujuan atau tujuan untuk jenis laporan tertentu yang dihasilkan oleh _CrtDbgReport dan makro apa pun yang memanggil_CrtDbgReport , , _CrtDbgReportWseperti _ASSERT, , _ASSERT_EXPR_ASSERTEmakro 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, _RPTdan _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.

Baca juga

Rutinitas debug