Udostępnij za pośrednictwem


_RPT, _RPTF, _RPTW, _RPTFW — Makra

Śledzi postęp aplikacji przez generowanie raportu debugowania (tylko wersja debugowania).Należy zauważyć, że n określa liczbę argumentów w args i może być 0, 1, 2, 3, 4 lub 5.

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

Parametry

  • reportType
    Report type: _CRT_WARN, _CRT_ERROR, or _CRT_ASSERT.

  • format
    Formatuj formant ciąg używany do tworzenia wiadomości użytkownika.

  • args
    Podstawianie argumentów używanych przez format.

Uwagi

Te makra podjąć reportTypei formatparametry.Ponadto one może potrwać maksymalnie cztery dodatkowe argumenty, oznaczony numerem dołączonym do nazwy makra.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 i _RPTF makra są podobne do printf działać, ponieważ mogą być używane do śledzenia postępu aplikacji podczas debugowania procesu.Jednakże, te makra są bardziej elastyczne niż printf , ponieważ nie muszą być ujęte w #ifdef instrukcji, aby zapobiec jest wywoływana w Kompilacja detaliczna aplikacji.Elastyczność ta uzyskuje się za pomocą _DEBUG makro; _RPT i _RPTF makra są dostępne tylko podczas _DEBUG flaga jest zdefiniowana.Gdy _DEBUG jest niezdefiniowana, wywołania tych makr są usuwane podczas wstępnego przetwarzania.

_RPTW i _RPTFW makra są szerokich znaków wersje tych makr.Są one podobne wprintf i ciągi znaków wide jako argumenty.

_RPT Wywołanie makra _CrtDbgReport funkcji, aby wygenerować raport debugowania z wiadomości użytkownika._RPTW Wywołanie makra _CrtDbgReportW funkcji, aby wygenerować ten sam raport o szerokości znaków._RPTF i _RPTFW makr utworzyć raport debugowania z pliku i wiersza numer źródła gdzie makra raportu została wywołana, dodatkowo do wiadomości użytkownika.Wiadomości użytkownika jest tworzony przez zamianę czcionki brakującej argn argumenty doformat ciąg znaków, za pomocą tej samej reguły zdefiniowane przez printf funkcji.

_CrtDbgReportlub _CrtDbgReportW generuje raport programu debug i określa jego miejsc docelowych na podstawie bieżącej tryby raportu i określone dla pliku reportType._CrtSetReportMode i _CrtSetReportFile funkcje służą do definiowania miejsc docelowych dla każdego typu raportu.

Jeśli _RPT nosi nazwę makra i ani _CrtSetReportMode ani _CrtSetReportFile została wywołana, wiadomości są wyświetlane w następujący sposób.

Typ raportu

Urządzenie docelowe wyjścia

_CRT_WARN

Ostrzeżenie Tekst nie jest wyświetlany.

_CRT_ERROR

Wyskakujące okna.Tym samym tak, jakby _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); miał został określony.

_CRT_ASSERT

Same as _CRT_ERROR.

Gdy miejsce docelowe znajduje się okno komunikatu debugowania i użytkownik zdecyduje się na ponawiania próby przycisku, _CrtDbgReport lub _CrtDbgReportW zwraca wartość 1, powodując tych makr uruchomić debugera, pod warunkiem, że jest włączone debugowanie just-in-time (JIT).Aby uzyskać więcej informacji dotyczących korzystania z tych makr jako mechanizmu obsługi błędów debugowania, zobacz Za pomocą makra dla weryfikacji i sprawozdawczości.

Istnieją dwa pozostałe makra, które wygenerować raport debugowania._ASSERT makro generuje raport, ale tylko wtedy, gdy jej argument Wyrażenie ma wartość FAŁSZ._ASSERTE jest dokładnie podobnego _ASSERT, ale wygenerowany raport zawiera wyrażenie nie powiodło się.

Wymagania

Makro

Wymaganego nagłówka

_RPTmakra

<crtdbg.h>

_RPTFmakra

<crtdbg.h>

_RPTWmakra

<crtdbg.h>

_RPTFWmakra

<crtdbg.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Biblioteki

Debug wersje biblioteki uruchomieniowej c tylko.

Chociaż te makra są i są uzyskiwane przez łącznie z Crtdbg.h, stosowania należy połączyć z jednej z bibliotek debugowania, ponieważ te makra wywoływać inne funkcje run-time.

Przykład

Zobacz przykład w _ASSERT tematu.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Procedury debugowania