Diagnostické služby
Knihovny Microsoft Foundation Class dodává mnoho diagnostické služby, které programy snadnější ladění.Tyto diagnostické služby zahrnují makra a globální funkce, které umožňují sledovat váš program paměti rozdělení Vypsat obsah objektů při běhu a tisknout ladicí zprávy v době spuštění.Globální funkce pro diagnostické služby a makra jsou seskupeny do následujících kategorií:
Obecné diagnostické makra
Obecné diagnostických funkcí a proměnných
Diagnostické funkce objektu
Tyto makra funkce jsou k dispozici a pro všechny třídy odvozené z CObject Debug a Release verze MFC.Však všechny kromě DEBUG_NEW a ověřit neprovádějte žádnou akci v verze.
V knihovně ladění jsou všechny bloky paměti přidělené bracketed s řadou "guard bajtů." Pokud tyto bajty jsou narušen zápis vyvolání chybové paměti, diagnostických rutin můžete ohlásit problém.Pokud řádek obsahuje:
#define new DEBUG_NEW
v souboru provádění všech volání na nové uloží název souboru a řádku číslo, kde se uskutečnila přidělení paměti.Funkce CMemoryState::DumpAllObjectsSince zobrazí tento další informace umožňující identifikaci nevrácené paměti.Také odkazovat na třídu CDumpContext Další informace o diagnostických výstup.
C Runtime library navíc podporuje sadu diagnostické funkce, které lze použít k ladění aplikací.Další informace naleznete v Ladění rutin v referenční knihovna Run-Time.
Makra Diagnostika MFC Obecné
Vytiskne zprávu a potom přeruší program, je-li zadaný výraz vyhodnocen jako FALSE v ladicí verzi knihovny. |
|
Objekt je objekt určené třídy nebo z třídy odvozené od třídy zadané testy. |
|
Testy platnosti vnitřní objekt voláním jeho AssertValid členské funkce; obvykle byla vyřazena z CObject. |
|
Zadává název souboru a řádek číslo pro přidělení všech objektů v režimu ladění usnadňují vyhledání nevrácené paměti. |
|
Podobný výrazu , ale není testování hodnoty výrazu; To je užitečné pro kód, který má být spuštěn pouze v režimu ladění. |
|
Poskytuje printf-jako možnost v ladicí verzi knihovny. |
|
Podobný výrazu , ale vyhodnotí výraz ve verzi knihovny, stejně jako v ladicí verzi. |
MFC obecné Diagnostika proměnné a funkce
Globální proměnná, která odesílá CDumpContext informace výstupní okno debugger nebo ladění terminálu. |
|
Globální proměnná, která řídí chování ladění přidělování paměti. |
|
Globální proměnná používá k testování předané kód SCODE na chybu a, pokud ano, vyvolá odpovídající chybu. |
|
Kontroluje že integritu všech aktuálně přidělená paměť. |
|
Pokud je volána v debuggeru Vypíše stav objektu při ladění. |
|
Vytvoření bitové kopie aktuálního zásobníku.Tato funkce je vždy spojen staticky. |
|
Umožňuje výpis nevracení paměti. |
|
Zapne sledování zapnutí a vypnutí paměti. |
|
Ověří správně přiděleny bloku paměti. |
|
Ověří, zda rozsah adres paměti v rámci programu bounds. |
|
Určuje, zda je platný ukazatel na řetězec. |
|
Umožňuje volání funkce na každé přidělení paměti. |
Diagnostické funkce objektu MFC
Provede zadaný funkci ve všech CObject-odvozené třídy, které podporují kontrola typu v době spuštění. |
|
Provede zadaný funkci ve všech CObject-odvozené objekty, které byly přiděleny s nové. |