Udostępnij za pośrednictwem


Dostosowanie macierzystego sprawdzania w trakcie wykonywania

Podczas kompilowania za pomocą /RTC (kontrole czasu wykonywania) lub używania runtime_checks pragma biblioteka języka C w czasie wykonywania zapewnia natywne kontrole czasu wykonywania. W niektórych przypadkach warto dostosować sprawdzanie czasu wykonywania:

  • Aby kierować komunikaty sprawdzania czasu wykonywania do pliku lub miejsca docelowego innego niż domyślne.

  • Aby określić miejsce docelowe danych wyjściowych dla komunikatów sprawdzania czasu wykonywania w debugerze innej firmy.

  • Aby zgłosić komunikaty sprawdzania czasu wykonywania z programu skompilowanego przy użyciu wersji biblioteki środowiska uruchomieniowego języka C. Wersje wersji biblioteki nie są używane _CrtDbgReportW do zgłaszania błędów czasu wykonywania. Zamiast tego wyświetlają okno dialogowe Asertywne dla każdego błędu czasu wykonywania.

    Aby dostosować sprawdzanie błędów w czasie wykonywania, możesz:

  • Napisz funkcję raportowania błędów w czasie wykonywania. Aby uzyskać więcej informacji, zobacz How to: Write a Run-Time Error Reporting Function (Instrukcje: zapisywanie funkcji raportowania błędów w czasie wykonywania).

  • Dostosuj miejsce docelowe komunikatu o błędzie.

  • Wykonaj zapytanie o informacje o błędach sprawdzania czasu wykonywania.

Dostosowywanie miejsca docelowego komunikatu o błędzie

Jeśli używasz _CrtDbgReportW funkcji do zgłaszania błędów, możesz użyć _CrtSetReportMode polecenia , aby określić miejsce docelowe komunikatów o błędach.

Jeśli używasz niestandardowej funkcji raportowania, użyj polecenia _RTC_SetErrorType , aby skojarzyć błąd z typem raportu.

Zapytanie o informacje o sprawdzaniu czasu wykonywania

_RTC_NumErrors Zwraca liczbę typów błędów wykrytych przez kontrole błędów w czasie wykonywania. Aby uzyskać krótki opis każdego błędu, możesz utworzyć pętlę z zakresu od 0 do zwracanej wartości _RTC_NumErrors, przekazując wartość iteracji do _RTC_GetErrDesc w każdej pętli. Aby uzyskać więcej informacji, zobacz _RTC_NumErrors i _RTC_GetErrDesc.