Procedury debugowania
Wersja debugowania biblioteki wykonawczej C dostarcza wielu usług diagnostycznych, które ułatwiają debugowania programów i umożliwić programistom:
Wkrocz bezpośrednio do wykonywania funkcji podczas debugowania
Rozwiązać twierdzenia, błędy i wyjątki
Alokacje sterty śledzenia oraz zapobiec przecieków pamięci
Komunikaty raportów do użytkownika
Aby użyć tych procedur, _DEBUG Flaga musi być zdefiniowana.Nie wszystkie procedury te w kompilacji detalicznych aplikacji.Aby uzyskać więcej informacji dotyczących sposobu używania nowych procedur debugowania, zobacz Technik debugowania CRT.
Program Debug: polecenie wersje procedur Run-Time Library C
Procedura |
Użyj |
równoważne z .NET Framework |
---|---|---|
Ocenia wyrażenia i generuje raport debugowania, gdy wynik jest FAŁSZ |
||
Podobny do _ASSERT, ale zawiera wyrażenie nie powiodło się w wygenerowany raport |
||
Potwierdzenia integralności bloków pamięci alokowanych na stercie debugowania |
||
Ustawia punkt przerwania. |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Generowanie raportu debugowania z wiadomością użytkownika i wysłać raport do trzech możliwych docelowych |
System::Diagnostics::Debug::Write, System::Diagnostics::Debug::Writeline, System::Diagnostics::Debug::WriteIf, System::Diagnostics::Debug::WriteLineIf |
|
Wywołania funkcji aplikacji dostarczane dla wszystkich _CLIENT_BLOCK typy na stosie |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Wszystkie bloki pamięci na stercie debugowania zrzutu, gdy wystąpił przeciek pamięci |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Sprawdź, że blok pamięci określony jest umieszczony w lokalnym sterty i czy jest debugowania prawidłowy identyfikator typu bloku sterty |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Sprawdza, czy określony wskaźnik w lokalna sterta |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Sprawdź, czy zakres pamięci określony jest ważny do czytania i pisania |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Otrzymać aktualny stan sterty debugowania i zapisać go w aplikacji dostarczone przez _CrtMemState struktury |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Porównywanie dwóch Państw pamięci na znaczne różnice i zwrócenie wyników |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Zrzuć informacje o obiektach na stercie, ponieważ określony punkt kontrolny lub od rozpoczęcia wykonywania programu |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Zrzuć informacje nagłówka debugowania dla stanu pamięci określony w formie możliwej do odczytania użytkownika |
||
Zwraca typ bloku/podtyp skojarzonych z określonym debug wskaźnik bloku sterty. |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Instalowanie funkcji alokacji zdefiniowanymi przez klienta za podłączając ją do procesu alokacji pamięci debugowania wykonywania C |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Ustaw punkt przerwania na numer zamówienia określony obiekt alokacji |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Pobieranie lub zmiany stanu _crtDbgFlag flagi w celu sterowania zachowaniem alokacji menedżera sterty debugowania |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Zainstaluj funkcję zdefiniowanych przez aplikację, która jest wywoływana za każdym razem, gdy wywoływana jest funkcja zrzutu debugowania zrzutu _CLIENT_BLOCK wpisz bloków pamięci |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Określenie pliku lub strumienia ma być używany jako miejsce docelowe dla typu określonego raportu przez_CrtDbgReport |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Instalowanie funkcji raportowania zdefiniowane przez klienta za podłączając ją do debugowania wykonywania C procesu zgłaszania |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Instaluje lub odinstalowuje to funkcja raportowania zdefiniowana przez klienta przez podłączając ją do debugowania wykonywania C procesu zgłaszania. |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Określ przeznaczenie ogólne dla typu określonego raportu generowanych przez_CrtDbgReport |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Śledzenie postępu aplikacji przez Generowanie raportu debugowania przez wywołanie _CrtDbgReport z ciągu formatu i zmienną liczbę argumentów.Zawiera plik i linia numer informacji źródłowych. |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Podobny do _RPTn makra, ale zawiera plik nazwa i wiersza numer źródła skąd pochodzi żądanie raportu |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Przydzielić określoną liczbę bloków pamięci na stercie z dodatkowym miejscem dla nagłówka debugowania i zastąpić buforów |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Zmienianie rozmiaru określonego bloku pamięci na stercie metodą rozwijania lub Umawiające się bloku |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Wolny blok pamięci sterty |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Utwórz ścieżkę bezwzględną lub pełną nazwę określona ścieżka względna nazwa, za pomocą _malloc_dbg przydzielić pamięci. |
||
Pobierz bieżący katalog roboczy za pomocą _malloc_dbg przydzielić pamięci. |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Przydzielić bloku pamięci na stercie z dodatkowym miejscem dla nagłówka debugowania i zastąpić buforów |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Obliczanie rozmiaru bloku pamięci na stercie |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Przenoszenie lub zmiana rozmiaru bloku ponownego przydzielenia określonego bloku pamięci na stercie |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
|
Duplikaty ciągu, przy użyciu _malloc_dbg przydzielić pamięci. |
||
Generuj nazwy służy do tworzenia tymczasowych plików, za pomocą _malloc_dbg przydzielić pamięci. |
Nie dotyczy.Aby wywołać standardową funkcję C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy. |
Debugowania procedur mogą być używane do kroku za pomocą kodu źródłowego dla większości innych wykonywania procedur C podczas procesu debugowania.Jednak Microsoft uzna za pewne techniki, aby być prawnie i, w związku z tym, nie przewiduje kod źródłowy tych procedur.Większość tych procedur należą do obsługi wyjątków lub grup przetwarzania zmiennoprzecinkowych, ale kilka innych są również uwzględnione.Poniższa tabela zawiera listę tych procedur.
C wykonywania procedur, które nie są dostępne w postaci kodu źródłowego
* Chociaż kod źródłowy jest dostępny dla większości to rutynowe, to sprawia, że wewnętrzne połączenie do innej procedury, dla których kod źródłowy nie jest dostępny.
Niektóre C wykonywania funkcji i operatorów, C++ zachowywać się inaczej, po wywołaniu z kompilacja do debugowania aplikacji. (Należy zauważyć, że kompilacja do debugowania aplikacji może odbywać się poprzez określenie albo _DEBUG flagowanie lub poprzez łączenie z wersji debug biblioteki wykonawczej C.) Różnice funkcjonalne zazwyczaj składają się z dodatkowych funkcji lub informacje dostarczone przez rutynowe do obsługi procesu debugowania.Poniższa tabela zawiera listę tych procedur.
Tworzenie procedur, które zachowują się inaczej w debugowania aplikacji
C przerwać rutynowych |
C++ usunąć operatora |
C dochodzić rutynowych |
C++ Nowy operatora |