Debugowania procedur
Program debug wersją biblioteki uruchomieniowej c dostarcza wiele usług diagnostycznych, które umożliwiają deweloperom i ułatwiają debugowanie programów:
Krok bezpośrednio do funkcji run-time podczas debugowania
Rozwiązać potwierdzeń, błędy i wyjątki
Śledzenie przydziałów stert i zapobiec przecieki pamięci
Komunikaty debugowania raport do użytkownika
Aby użyć tych procedur, _DEBUG musi być określona flaga.Nic wszystkich tych procedur w Kompilacja detaliczna aplikacji.Aby uzyskać więcej informacji na temat korzystania z nowych procedur debugowania, zobacz Techniki debugowania CRT.
Wersje c procedur biblioteka uruchomieniowa Debug
Rozpoczęto wykonywanie procedury |
Użyj |
.NET Framework równoważne |
---|---|---|
Ocenia wyrażenia i generuje raport debugowania, gdy wynik jest równy FAŁSZ |
||
Podobny do _ASSERT, ale wygenerowany raport zawiera wyrażenie nie powiodło się |
||
Potwierdź integralności bloków pamięci zaalokowanego na stercie debugowania |
||
Ustawia punkt przerwania. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Generowanie raportu debugowania z wiadomości użytkownika i przesyła sprawozdanie do trzech możliwych docelowych |
System::Diagnostics::Debug::Write, System::Diagnostics::Debug::Writeline, System::Diagnostics::Debug::WriteIf, System::Diagnostics::Debug::WriteLineIf |
|
Wywołania funkcji dostarczanych przez aplikację dla wszystkich _CLIENT_BLOCK typów na stercie |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Zrzut wszystkich bloków pamięci na stercie debugowania, gdy wystąpił przeciek pamięci znaczące |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Sprawdź, czy znajduje blok pamięci określony na stercie lokalne i ma identyfikator typu ważne debugowania sterty bloku |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Sprawdza, czy wskaźnik określony jest w lokalnym sterty |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Sprawdź, czy zakres pamięci określony jest ważny do odczytu i zapisu |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Uzyskać bieżący stan sterty debugowania i zapisać go w aplikacji dostarczone _CrtMemState struktury |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Porównywanie dwóch Państw pamięci dla znaczących różnic i zwracają wyniki |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Zrzuć informacje o obiektach na stercie, ponieważ została podjęta określonego punktu kontrolnego lub od rozpoczęcia realizacji programu |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Zrzuć informacje nagłówka debugowania dla stanu pamięci określony w formie możliwej do odczytania użytkownika |
||
Zwraca bloku typ/podtyp skojarzonych z wskaźnik bloku sterty danego programu debug. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Instalowanie funkcji alokacji zdefiniowanymi przez klienta za podczepiania go do procesu alokacji pamięci c debugowania run-time |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Ustaw punkt przerwania na numer zamówienia alokacji określonego obiektu |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Pobieranie lub zmodyfikować stan _crtDbgFlag flagi w celu sterowania zachowaniem alokacji menedżera sterty debugowania |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Instalowanie funkcji 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ć standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Określenie pliku lub strumienia, aby służyć jako miejsce docelowe dla typu określonego raportu przez_CrtDbgReport |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Instalowanie funkcji sprawozdawczości określone przez klienta za podczepiania go do debugowania run-time C, proces raportowania |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Instaluje lub odinstalowuje funkcja raportowania zdefiniowana przez klienta przez podczepiania go do debugowania run-time C, proces raportowania. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Określić ogólne przeznaczenie typu określonego raportu generowanych przez_CrtDbgReport |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Śledzenie postępu aplikacji przez generowanie raportu debugowania, wywołując _CrtDbgReport ciąg formatu i zmiennej liczby argumentów.Zawiera plik i wiersza numer informacji źródłowych. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Podobny do _RPTn makra, ale zawiera numer nazwy i wiersz pliku źródłowego zainicjowano żądanie raportu |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Przydzielić określona liczba bloków pamięci na stercie z dodatkowym miejscem dla nagłówka debugowania i zastąpić buforów |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Zmień rozmiar podany blok pamięci na stercie przez rozwijanie lub Umawiających się bloku |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Wolny blok pamięci na stercie |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Utwórz ścieżkę bezwzględną lub pełną nazwę określonej ścieżki względnej nazwy przy użyciu _malloc_dbg przydzielić pamięci. |
||
Pobierz bieżący katalog roboczy za pomocą _malloc_dbg przydzielić pamięci. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Przydzielić bloku pamięci na stercie z dodatkowym miejscem na nagłówek debugowania i zastąpić buforów |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Oblicz rozmiar bloku pamięci na stercie |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Alokacja podany blok pamięci na stercie, przenoszenie lub zmiana rozmiaru bloku |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
|
Duplikaty ciągu, przy użyciu _malloc_dbg przydzielić pamięci. |
||
Generuj nazwy można utworzyć plików tymczasowych za pomocą _malloc_dbg przydzielić pamięci. |
Nie dotyczy.Aby wywołać standardowych funkcji C, należy użyć PInvoke.Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy. |
Procedur debugowania, które mogą być używane do kroku poprzez kod źródłowy dla większości innych c procedur run-time podczas debugowania procesu.Jednakże firma Microsoft uważa niektóre technologii być zastrzeżone i w związku z tym, nie zawiera kodu źródłowego do tych procedur.Większość tych procedur, należą do obsługi wyjątków lub grup liczb zmiennoprzecinkowych przetwarzania, ale kilka innych są uwzględniane również.Poniższa tabela zawiera listę tych procedur.
C procedur Run-Time, które nie są dostępne w formie kodu źródłowego
printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l* |
||
scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l* |
||
|
* Mimo, że kod źródłowy jest dostępny dla większości tej procedury, sprawia, że wywołanie wewnętrznych do innej procedury, dla których nie podano kodu źródłowego.
Niektóre funkcje run-time c i C++ operatorów zachowywać się inaczej, gdy wywoływana z kompilacja do debugowania aplikacji.(Należy zauważyć, że kompilacja do debugowania aplikacji mogą być wykonywane przez definiowanie albo _DEBUG bandery lub przez łączenie się z wersją biblioteki uruchomieniowej c debugowania.) Różnice funkcjonalne zwykle składają się z dodatkowych funkcji lub informacje dostarczane przez rutynowych, aby obsługiwał proces debugowania.Poniższa tabela zawiera listę tych procedur.
Procedur, które zachowują się inaczej w debugowanie budowanie aplikacji
C przerwanie rutynowe |
C++ usunąć operatora |
C assert rutynowe |
C++ Nowy operatora |
Aby uzyskać więcej informacji na temat za pomocą wersji programu debug operatorów C++ w powyższej tabeli, zobacz za pomocą debugowania sterty z C++.