Udostępnij za pośrednictwem


_CrtSetReportFile

Po skorzystaniu z _CrtSetReportMode do określenia _CRTDBG_MODE_FILE, można określić dojście do pliku, aby otrzymać tekst wiadomości._CrtSetReportFile jest także używany przez _CrtDbgReport, _CrtDbgReportW, aby określić miejsce docelowe tekstu (tylko wersja debugowania).

_HFILE _CrtSetReportFile( 
   int reportType,
   _HFILE reportFile 
);

Parametry

  • reportType
    Typ raportu: _CRT_WARN, _CRT_ERROR, i _CRT_ASSERT.

  • reportFile
    Nowy plik raportu dla reportType.

Wartość zwracana

Po pomyślnym zakończeniu _CrtSetReportFile zwraca poprzedni plik raportu zdefiniowany dla określony typu raportu w reportType.Jeśli nieprawidłowa wartość jest przekazywana do reportType, funkcja wywoła procedurę obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, errno jest ustawione jako EINVAL, a funkcja zwraca _CRTDBG_HFILE_ERROR.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist, and _sys_nerr.

Uwagi

_CrtSetReportFile jest używana z funkcją _CrtSetReportMode do określenia miejsca lub miejsc docelowych dla określonego typu raportu generowanego przez _CrtDbgReport.Po tym jak _CrtSetReportMode została wywołana do przypisania _CRTDBG_MODE_FILE tryb raportowania dla określonego typu raportu _CrtSetReportFile powinien być wywoływany w celu definiowania określonego pliku lub strumienia do wykorzystania jako miejsce docelowe.Gdy _DEBUG nie jest zdefiniowany, wywołania _CrtSetReportFile są usuwane podczas przetwarzania wstępnego.

W poniższej tabeli przedstawiono listę dostępnych sposobów reportFile i wynikowe zachowanie _CrtDbgReport.Opcje te są zdefiniowane jako flaga bitowych w Crtdbg.h.

  • file handle
    Dojście do pliku, którym będzie miejsce docelowe dla wiadomości.Nie jest podejmowana próba sprawdzania prawidłowości obsługi.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
    Wpisuje wiadomość do stderr, które mogą zostać przekierowane w następujący sposób:

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

  • _CRTDBG_REPORT_FILE
    Zwraca bieżący tryb raportu.

Plikiem raportu używanym przez każdy typu raportu można sterować oddzielnie.Na przykład, istnieje możliwość określenia, że reportType**_CRT_ERROR** zostanie zgłoszony do stderr, podczas gdy reportType**_CRT_ASSERT** zostanie zgłoszony do zdefiniowanego przez użytkownika „uchwytu” pliku lub strumienia.

Wymagania

Procedura

Wymagany nagłówek

Opcjonalny nagłówek

_CrtSetReportFile

<crtdbg.h>

<errno.h>

Konsola nie jest obsługiwana w aplikacjach Windows Store.Standardowe uchwyty strumienia powiązane z konsolą—stdin, stdout, i stderr—muszą zostać przekierowane zanim będą wykorzystane przez funkcje środowiska uruchomieniowego C w aplikacjach Windows Store.Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność.

Biblioteki: Tylko wersja debugowania Biblioteka CRT — Funkcje.

Odpowiednik w programie .NET Framework

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

Zobacz też

Informacje

Procedury debugowania