Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
_CrtSetReportMode öğesini belirttikten _CRTDBG_MODE_FILEsonra, ileti metnini almak için dosya tutamacını belirtebilirsiniz. _CrtSetReportFile, tarafından _CrtDbgReport_CrtDbgReportW metnin hedefini belirtmek için de kullanılır (yalnızca hata ayıklama sürümü).
Sözdizimi
_HFILE _CrtSetReportFile(
int reportType,
_HFILE reportFile
);
Parametreler
reportType
Rapor türü: _CRT_WARN, _CRT_ERRORve _CRT_ASSERT.
reportFile
için reportTypeyeni rapor dosyası.
Dönüş değeri
Başarıyla tamamlandığında, _CrtSetReportFile içinde reportTypebelirtilen rapor türü için tanımlanan önceki rapor dosyasını döndürür. için reportTypegeçersiz bir değer geçirilirse, bu işlev Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, errno olarak ayarlanır EINVALve işlevi döndürür _CRTDBG_HFILE_ERROR. Daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.
Açıklamalar
_CrtSetReportFiletarafından oluşturulan _CrtDbgReportbelirli bir rapor türü için hedefi veya hedefleri tanımlamak için işleviyle birlikte _CrtSetReportMode kullanılır. Belirli bir rapor türü için raporlama modunu atamak üzere aradığınızda_CrtSetReportMode, hedef dosyayı veya akışı belirtmek için de arayın_CrtSetReportFile._CRTDBG_MODE_FILE Tanımlanmadığında _DEBUG , çağrısı _CrtSetReportFile ön işleme sırasında kaldırılır.
Aşağıdaki listede için reportFile kullanılabilir seçenekler ve sonuçta elde edilen davranışı _CrtDbgReportgösterilir. Bu seçenekler Crtdbg.h dosyasında bit bayrakları olarak tanımlanır.
dosya tutamacı
İletiler için hedef olacak dosya tanıtıcısı. Tanıtıcının geçerliliğini doğrulamaya çalışılır. Dosyanın tutamacını açmanız ve kapatmanız gerekir. Örneğin:
HANDLE hLogFile; hLogFile = CreateFile("c:\\log.txt", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_WARN, hLogFile); _RPT0(_CRT_WARN,"file message\n"); CloseHandle(hLogFile);_CRTDBG_FILE_STDERRİletiyi öğesine
stderryazar ve bu ileti aşağıdaki gibi yeniden yönlendirilebilir:freopen( "c:\\log2.txt", "w", stderr); _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE); _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); _RPT0(_CRT_ERROR,"1st message\n");_CRTDBG_FILE_STDOUTyeniden yönlendirebileceğiniz iletiyi
stdoutöğesine yazar._CRTDBG_REPORT_FILEGeçerli rapor modunu döndürür.
Her rapor türü tarafından kullanılan rapor dosyasını ayrı ayrı denetleyebilirsiniz. Örneğin, kullanıcı tanımlı bir reportType dosya tutamacı veya akışı aracılığıyla stderrreportType raporlardan birinin _CRT_ERROR _CRT_ASSERT üzerinden belirtilmesi mümkündür.
Gereksinimler
| Yordam | Gerekli başlık | İsteğe bağlı üst bilgi |
|---|---|---|
_CrtSetReportFile |
<crtdbg.h> | <errno.h> |
Konsol Evrensel Windows Platformu (UWP) uygulamalarında desteklenmez. C çalışma zamanı işlevlerinin UWP uygulamalarında kullanabilmesi için önce konsolu stdin, , stdoutve stderrile ilişkilendirilmiş standart akış tanıtıcılarının yeniden yönlendirilmesi gerekir. Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar: Yalnızca CRT kitaplık özelliklerinin sürümlerinde hata ayıklama.