Aracılığıyla paylaş


_RPT, _RPTF, _RPTW, _RPTFW Makrolar

Hata ayıklama raporu oluşturarak bir uygulamanın ilerleme durumunu izler (yalnızca hata ayıklama sürümü). Sonek n içindeki bağımsız değişkenlerin argssayısını belirtir ve 0, 1, 2, 3, 4 veya 5 olabilir.

Sözdizimi

_RPTn(
   reportType,
   format,
   ...[args]
);
_RPTFn(
   reportType,
   format,
   [args]
);
_RPTWn(
   reportType,
   format
   [args]
);
_RPTFWn(
   reportType,
   format
   [args]
);

Parametreler

reportType
Rapor türü: _CRT_WARN, _CRT_ERRORveya _CRT_ASSERT.

format
Kullanıcı iletisini oluşturmak için kullanılan biçim denetimi dizesi.

args
tarafından formatkullanılan değiştirme bağımsız değişkenleri.

Açıklamalar

Tüm bu makrolar ve format parametrelerini alırreportType. Buna ek olarak, makro adının sonuna eklenen sayıyla belirtilen en fazla dört bağımsız değişken daha alabilirler. Örneğin, _RPT0 daha fazla bağımsız değişken _RPTF1 _RPT1 alma ve alma _RPT2 arg1, alma ve _RPTF2 ve arg1 arg2gibi._RPTF0

_RPT hata ayıklama işlemi sırasında uygulamanın ilerleme durumunu printf izlemek için kullanılabildiğinden ve _RPTF makroları işlevine benzer. Ancak bu makrolar, bir uygulamanın perakende derlemesinde çağrılmalarını önlemek için #ifdef deyimlerinin içine alınmalarına gerek olmadığından daha printf esnektir. Bu esneklik makro kullanılarak _DEBUG elde edilir; _RPT ve _RPTF makroları yalnızca bayrak tanımlandığında _DEBUG kullanılabilir. Tanımlanmadığında _DEBUG , bu makrolara yapılan çağrılar ön işleme sırasında kaldırılır.

_RPTW ve _RPTFW makroları, bu makroların geniş karakterli sürümleridir. Gibiler wprintf ve geniş karakterli dizeleri bağımsız değişken olarak alır.

Makrolar _RPT , kullanıcı iletisiyle hata ayıklama raporu oluşturmak için işlevini çağırır _CrtDbgReport . Makrolar _RPTW , geniş karakterlerle aynı raporu oluşturmak için işlevini çağırır _CrtDbgReportW . _RPTF ve _RPTFW makroları, kullanıcı iletisine ek olarak rapor makrosunun çağrıldığı kaynak dosya ve satır numarasıyla bir hata ayıklama raporu oluşturur. Kullanıcı iletisi, işlevi tarafından tanımlanan aynı kurallar kullanılarak bağımsız değişkenleri dizeye format değiştirerek printf oluşturulurarg[n].

_CrtDbgReport veya _CrtDbgReportW hata ayıklama raporunu oluşturur ve hedeflerini için reportTypetanımlanan geçerli rapor modlarını ve dosyasını temel alarak belirler. _CrtSetReportMode ve _CrtSetReportFile işlevleri, her rapor türünün hedeflerini tanımlamak için kullanılır.

Makro _RPT çağrılır ve _CrtSetReportMode _CrtSetReportFile çağrılmamışsa, iletiler aşağıdaki gibi görüntülenir:

Rapor türü Çıkış hedefi
_CRT_WARN Uyarı metni görüntülenmez.
_CRT_ERROR Bir açılır pencere. Belirtilmiş gibi _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); .
_CRT_ASSERT ile _CRT_ERRORaynı.

Hedef bir hata ayıklama iletisi penceresi olduğunda ve kullanıcı Yeniden Dene düğmesini _CrtDbgReport seçtiğinde veya _CrtDbgReportW 1 döndürdüğünde. Bu dönüş değeri, tam zamanında (JIT) hata ayıklama etkinse bu makroların hata ayıklayıcıyı başlatmasına neden olur. Bu makroları hata ayıklama hata işleme mekanizması olarak kullanma hakkında daha fazla bilgi için bkz . Raporlama için makrolar.

Hata ayıklama raporu oluşturan iki makro daha vardır. Makro _ASSERT bir rapor oluşturur, ancak yalnızca ifade bağımsız değişkeni olarak değerlendirildiğinde FALSE. _ASSERTE tam olarak benzeridir _ASSERT, ancak oluşturulan rapordaki başarısız ifadeyi içerir.

Gereksinimler

Makro Gerekli başlık
_RPT Makro <crtdbg.h>
_RPTF Makro <crtdbg.h>
_RPTW Makro <crtdbg.h>
_RPTFW Makro <crtdbg.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Kitaplıklar

Yalnızca C çalışma zamanı kitaplıklarının sürümlerinde hata ayıklama.

Bu makrolar, öğesini eklediğinizde crtdbg.hçalıştırılacak şekilde kullanılabilse de, bu makrolar diğer çalışma zamanı işlevlerini çağırdığından uygulamanın hata ayıklama kitaplıklarından biriyle bağlantı oluşturması gerekir.

Örnek

Makalenin örneğine _ASSERT bakın.

Ayrıca bkz.

Hata ayıklama yordamları