_rpt, _rptf, _rptw, _rptfw makrolar
Hata ayıklama raporu (yalnızca hata ayıklama sürümü) üreterek bir uygulamanın ilerlemesini izler. Dikkat edin n fonksiyonundaki bağımsız değişkenlerin sayısını belirtir args ve 0, 1, 2, 3, 4 veya 5 olabilir.
_RPTn(
reportType,
format,
...[args]
);
_RPTFn(
reportType,
format,
[args]
);
_RPTWn(
reportType,
format
[args]
);
_RPTFWn(
reportType,
format
[args]
);
Parametreler
reportType
Report type: _CRT_WARN, _CRT_ERROR, or _CRT_ASSERT.format
Denetim Biçimlendir kullanıcı iletiyi oluşturmak için kullanılan bir dize.args
Alternatifi bağımsız değişkenleri olarak kullanılan format.
Notlar
Bu makroları ele reportTypeve formatparametreleri. Buna ek olarak, bunlar en çok dört ek bağımsız değişkenler, makro adına eklenen numarasına göre değeriyle de alabilir. For example, _RPT0 and _RPTF0 take no additional arguments, _RPT1 and _RPTF1 take arg1, _RPT2 and _RPTF2 take arg1 and arg2, and so on.
_RPT Ve _RPTF makrolar benzer printf çalışması nedeniyle hata ayıklama işlemi sırasında bir uygulamanın ilerlemeyi izlemek için kullanılabilir. Ancak, bu makroları daha esnektir printf içine alınması gerekmez çünkü #ifdef bunları önlemek için ifadeleri adlı bir uygulama perakende yapısında. Bu esneklik kullanılarak elde _debug makro; _RPT ve _RPTF makrolar yalnızca kullanılabilir ne zaman _DEBUG bayrağı tanımlanır. Zaman _DEBUG olan tanımlı değil, bu makroları aramaları ön-işleme sırasında kaldırılır.
_RPTW Ve _RPTFW bu makroları geniş karakter sürümleri makroların. Gibi olduklarını wprintf ve geniş karakter dizeleri bağımsız olarak alır.
_RPT Makrolar çağrısı _CrtDbgReport bir kullanıcı iletiyi bir hata ayıklama raporu oluşturmak için işlev. _RPTW Makrolar çağrısı _CrtDbgReportW geniş karakterlerle aynı raporu oluşturmak için işlev. _RPTF Ve _RPTFW Makrolar nerede raporu makro çağrıldı, ayrıca kullanıcı iletisi kaynak dosyası ve satır numarası ile bir hata ayıklama raporu oluşturabilirsiniz. Kullanıcı iletiyi getirilmesiyle oluşturulan argn bağımsız değişkenleriyleformat dizesi tarafından tanımlanan aynı kuralları kullanarak printf işlevi.
_CrtDbgReportveya _CrtDbgReportW hata ayıklama raporu oluşturur ve dosya için tanımlanan ve geçerli rapor modları üzerinde temel hedefleri belirler reportType. _CrtSetReportMode ve _CrtSetReportFile işlevleri, her rapor türü için hedefleri tanımlamak için kullanılır.
Bir _RPT makro olarak adlandırılır ve ne _CrtSetReportMode ne de _CrtSetReportFile kaldırıldı olarak adlandırılan, iletileri aşağıdaki gibi görüntülenir.
Rapor türü |
Çıktı hedefi |
---|---|
_CRT_WARN |
Uyarı metni görüntülenmez. |
_CRT_ERROR |
Açılır pencere. Aynı şekilde, _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); belirtilen. |
_CRT_ASSERT |
_CRT_ERROR ürünüyle aynı. |
Ne zaman bir hata ayıklama iletisi penceresi hedef olan ve kullanıcının seçtiği yeniden düğmesini, _CrtDbgReport veya _CrtDbgReportW just-in-time (JIT) hata ayıklama etkin koşuluyla, bu makroları hata ayıklayıcısını başlatma neden 1 döndürür. Bir hata ayıklama hata işleme mekanizması olarak bu makroları kullanma hakkında daha fazla bilgi için bkz: Makro kullanarak doğrulama ve raporlama için.
Hata ayıklama raporu oluşturmak iki makro yok. _assert makro ancak, ifade bağımsız değişkenini yanlış olduğunda yalnızca bir rapor oluşturur. _asserte tam olarak benzer olduğu _ASSERT, ancak oluşturulan rapora başarısız ifade içerir.
Gereksinimler
Makro |
Gerekli başlık |
---|---|
_RPTMakrolar |
<crtdbg.h> |
_RPTFMakrolar |
<crtdbg.h> |
_RPTWMakrolar |
<crtdbg.h> |
_RPTFWMakrolar |
<crtdbg.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Kitaplıkları
Hata ayıklama sürümlerini c çalışma zamanı kitaplıkları yalnızca.
Bu makroların ve Crtdbg.h de dahil olmak üzere tarafından alınan rağmen bu makroları çalıştırma levler çağırması nedeniyle uygulama hata ayıklama kütüphanelerinden biri ile bağlanmanız gerekir.
Örnek
Örneğe bakın _assert konu.
.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.