_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 args
sayı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_ERROR
veya _CRT_ASSERT
.
format
Kullanıcı iletisini oluşturmak için kullanılan biçim denetimi dizesi.
args
tarafından format
kullanı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
arg2
gibi._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 reportType
tanı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_ERROR aynı. |
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.