_CrtSetReportMode
Hedef veya hedefler tarafından oluşturulan bir özel rapor türü için belirtir _CrtDbgReport ve çağıran herhangi bir makro _CrtDbgReport, _CrtDbgReportW, gibi _assert, _asserte makrolar, _assert, _asserte makrolar, _rpt, _rptf, _rptw, _rptfw makrolar, ve _rpt, _rptf, _rptw, _rptfw makrolar (yalnızca hata ayıklama sürümü).
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parametreler
reportType
Report type: _CRT_WARN, _CRT_ERROR, and _CRT_ASSERT.reportMode
Yeni rapor modu veya modları için reportType.
Dönüş Değeri
Başarı, _CrtSetReportMode belirtilen rapor türü için önceki rapor modu veya modları verir reportType. Geçersiz bir değer olarak geçirilen, reportType veya geçersiz bir mod için belirtilen reportMode, _CrtSetReportMode açıklandığı gibi geçersiz bir parametre işleyiciyi çağırır Parametre doğrulama. Yürütülmesine devam etmek için izin verilmişse, bu işlevi ayarlar errno için EINVAL ve -1 değerini döndürür. Daha fazla bilgi için bkz. errno, _doserrno, _sys_errlist ve _sys_nerr.
Notlar
_CrtSetReportModeçıktı hedefi belirtir _CrtDbgReport. Çünkü makrolar _ASSERT, _ASSERTE, _RPT, ve _RPTF call _CrtDbgReport, _CrtSetReportMode metin makroları ile belirtilen çıktı hedefini belirtir.
Zaman _DEBUG tanımlı değilse, çağıran için _CrtSetReportMode ön-işleme sırasında kaldırılır.
Çağrılmayan, _CrtSetReportMode iletileri çıktı hedefini tanımlamak için sonra aşağıdaki varsayılanlarının geçerli olduğu:
Onaylama işlemi hatası ve hata için bir hata ayıklama iletisi penceresi yönlendirilir.
Windows uygulamalarından gelen uyarıları Hata Ayıklayıcı'nın output penceresine gönderilir.
Konsol uygulamalarından gelen uyarıları görüntülenmez.
Crtdbg.h içinde tanımlanan rapor türleri aşağıdaki tabloda listelenmektedir.
Rapor türü |
Description |
---|---|
_CRT_WARN |
Uyarı iletileri ve hemen dikkat etmeniz gereken değil bilgi. |
_CRT_ERROR |
Hatalar, kurtarılamayan sorunlar ve hemen ilgilenilmesi gereken sorunlar. |
_CRT_ASSERT |
Onaylama işlemi hatası (için değerlendirmek ifadeler hattının FALSE). |
_CrtSetReportMode İşlevi, belirtilen yeni rapor modu atar reportMode belirtilen rapor türü için reportType için önceden tanımlanmış rapor moduna döndüğünde ve reportType. Aşağıdaki tablo kullanılabilir seçenekleri listeler reportMode ve ortaya çıkan davranış _CrtDbgReport. Bu seçenekler, Crtdbg.h bit bayrak olarak tanımlanır.
Rapor modu |
_CrtDbgReport davranışı |
---|---|
_CRTDBG_MODE_DEBUG |
İleti Hata Ayıklayıcı'nın output penceresine yazar. |
_CRTDBG_MODE_FILE |
İleti, bir kullanıcı tarafından sağlanan dosya tanıtıcısına yazar. _CrtSetReportFileBelirli dosya veya hedef olarak kullanmak için akışı tanımlamak için çağrılmalıdır. |
_CRTDBG_MODE_WNDW |
İleti ile birlikte görüntülenecek bir ileti kutusu oluşturur Abort, Retry, ve Ignore düğmeleri. |
_CRTDBG_REPORT_MODE |
Döndürür reportMode için belirtilen reportType: 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Her rapor türü, bir, iki veya üç modları veya hiçbir mod hiç kullanılarak bildirilebilir. Bu nedenle, tek bir rapor türü için tanımlanmış birden fazla hedef olma olasılığı vardır. Örneğin, aşağıdaki kod parçası bir iki hata ayıklama iletisi penceresi ve çok gönderilmek üzere onaylama işlemi hatası neden stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Buna ek olarak, raporlama modunda veya modları her rapor türü için ayrı ayrı denetlenebilir. Örneğin, belirtme olanağı vardır bir reportType , _CRT_WARN olması bir çıkış hata ayıklama dizeye gönderilen, while _CRT_ASSERT olması gönderilen ve bir hata ayıklama iletisi penceresi kullanılarak görüntülenen stderr, daha önce Resimli.
Gereksinimler
Yordamı |
Gerekli başlık |
İsteğe bağlı bir üstbilgi |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Kitaplıklar: hata ayıklama sürümlerini crt kitaplığı özellikleri yalnızca.
Örnek
Bkz: report
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz. Platform Çağırma örnekleri.