Udostępnij za pośrednictwem


_CrtSetReportFile

Po określeniu _CRTDBG_MODE_FILE z _CrtSetReportMode, można określić dojście do pliku do odbierania tekst wiadomości._CrtSetReportFilejest także używany przez _CrtDbgReport, _CrtDbgReportW w tym celu tekstu (tylko wersja debugowania).

_HFILE _CrtSetReportFile( 
   int reportType,
   _HFILE reportFile 
);

Parametry

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

  • reportFile
    Nowy plik raportu dla reportType.

Wartość zwracana

Po pomyślnym zakończeniu _CrtSetReportFile zwraca poprzedni plik raportu zdefiniowany dla typu raportu określone w reportType.Jeśli jest przekazywana nieprawidłową wartość reportType, funkcja ta wywołuje program obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca _CRTDBG_HFILE_ERROR.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.

Uwagi

_CrtSetReportFilejest używana z _CrtSetReportMode funkcja określenie miejsca przeznaczenia lub miejsca docelowe dla typu określonego raportu wygenerowany przez _CrtDbgReport.Gdy _CrtSetReportMode została wywołana do przypisywania _CRTDBG_MODE_FILE zgłoszenie tryb dla typu określonego raportu, _CrtSetReportFile następnie zostać wywołana, aby zdefiniować określonego pliku lub strumienia do wykorzystania jako miejsce docelowe.Gdy _DEBUG nie jest zdefiniowana, wzywa do _CrtSetReportFile są usuwane w czasie wstępnego przetwarzania.

W poniższej tabeli przedstawiono listę dostępnych sposobów reportFile i wynikowe zachowanie z _CrtDbgReport.Te opcje są definiowane jako flag bitowych w Crtdbg.h.

  • file handle
    Dojście do pliku, który będzie docelowy dla wiadomości.Nie jest podejmowana próba sprawdza prawidłowość uchwyt.Należy otworzyć i zamknąć dojście do pliku.Na przykład:

       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
    Pisze wiadomość do stderr, które mogą być przekierowywane się następujące zmiany:

       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_STDOUT
    Pisze wiadomość do stdout, który można przekierować.

  • _CRTDBG_REPORT_FILE
    Zwraca bieżący tryb raportu.

Plik raportu, używane przez każdego typu raportu można sterować oddzielnie.Na przykład, istnieje możliwość określić, że reportType z _CRT_ERROR informowana o stderr, podczas gdy reportType z _CRT_ASSERT być zgłaszane do dojścia do zdefiniowanej przez użytkownika pliku lub strumienia.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

Opcjonalny nagłówka

_CrtSetReportFile

<crtdbg.h>

<errno.h>

Konsola nie jest obsługiwana w Windows Store aplikacji.Związanych z konsolą, dojścia do strumienia standard stdin, stdout, i stderr, muszą być przeniesione, aby funkcje uruchomieniowej C mogą być użyte w Windows Store aplikacji.Informacji dotyczących zgodności, zobacz Zgodność we wprowadzeniu.

Biblioteki: program Debug: polecenie wersje Funkcje biblioteki CRT tylko.

Przykład

Zobacz report.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Platforma wywołać przykłady.

Zobacz też

Informacje

Debugowania procedur