Sdílet prostřednictvím


Ladění rutin

Ladicí verzi C Runtime library dodává mnoho diagnostické služby, které usnadňují ladicí programy a umožňuje vývojářům:

  • Krok přímo do spuštění funkce při ladění

  • Vyřešit tvrzení, chyby a výjimky

  • Přidělení haldy trasování a zabránit nevrácené paměti

  • Ladění hlášení uživateli

Tyto rutiny pro použití _DEBUG musí být definována příznak.Všechny tyto rutiny neprovádějte žádnou akci v prodejní sestavení aplikace.Další informace o použití nové ladění rutin, viz Techniky ladění CRT.

Verze c rutiny knihovna Run-Time ladit

Rutina

Pomocí

.Ekvivalent rozhraní.

_ASSERT

Vyhodnocení výrazu a generuje sestavu ladění, pokud je výsledek NEPRAVDA

System::Diagnostics::Debug:: výrazu

_ASSERTE

Podobný _ASSERT, ale zahrnuje výraz selhání vygenerované sestavy

System::Diagnostics::Debug:: výrazu

_CrtCheckMemory

Zkontrolujte integritu bloků paměti přidělené na ladění haldy

System::Diagnostics::PerformanceCounter

_CrtDbgBreak

Nastaví bod přerušení.

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtDbgReport _CrtDbgReportW

Generování sestavy ladění s uživateli zprávu a zaslat na tři možné cíle

System::Diagnostics::Debug::Write, System::Diagnostics::Debug::Writeline, System::Diagnostics::Debug::WriteIf, System::Diagnostics::Debug::WriteLineIf

_CrtDoForAllClientObjects

Volání funkce jazyka poskytované aplikací pro všechny _CLIENT_BLOCK typy na haldy

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtDumpMemoryLeaks

Vypsat všechny bloky paměti na ladění haldy při došlo k významnému paměť

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtIsMemoryBlock

Ověřte, že je umístěn v místní halda blok paměti určené a má identifikátor typu bloku haldy platný ladění

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtIsValidHeapPointer

Ověří, zda zadaný ukazatel místní haldy

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtIsValidPointer

Ověřte, zda je rozsah paměti určené pro čtení a zápis

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtMemCheckpoint

Získat aktuální stav haldy ladění a uložit ji poskytované aplikací _CrtMemState struktury

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtMemDifference

Porovnat dva státy paměti pro významné rozdíly a výsledky

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtMemDumpAllObjectsSince

Vypsat informace o objektech na haldy, protože byla provedena kontrolní bod určený nebo od zahájení provádění programu

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtMemDumpStatistics

Vypsat informace o stavu určeného paměti ve formě uživatelem čitelný záhlaví ladění

System::Diagnostics::PerformanceCounter

_CrtReportBlockType

Vrací blok typ/podtyp přidružené k ladění daný ukazatel bloku haldy.

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetAllocHook

Nainstalovat klienta definované alokační funkce zapojení do procesu přidělování paměti c spuštění ladění

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetBreakAlloc

Číslo pořadí přidělení zadaného objektu nastavit zarážku

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetDbgFlag

Načtení nebo změnit stav _crtDbgFlag příznak řízení chování přidělení haldy debug manager

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetDumpClient

Instalace funkce definované aplikací, která je volána při každém výpisu funkce ladění se nazývá vypsat _CLIENT_BLOCK zadejte bloků paměti

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetReportFile

Určení souboru nebo datového proudu a použít jako cíl pro konkrétní sestavu typu podle_CrtDbgReport

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetReportHook

Nainstalovat klienta definované přídavné funkce zapojení do c spuštění ladění procesu vykazování

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetReportHook2 _CrtSetReportHookW2

Nainstaluje nebo odinstaluje přídavné funkce klienta definované podle zapojení do c spuštění ladění procesu vykazování.

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_CrtSetReportMode

Určit obecné místo nebo místa určení pro konkrétní sestavu typ generované_CrtDbgReport

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_RPT [0,1,2,3,4]

Sledování průběhu aplikace generováním sestavy ladění voláním _CrtDbgReport řetězec formátu a proměnný počet argumentů.Obsahuje zdrojové soubor a řádek číselné informace.

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_RPTF [0,1,2,3,4]

Podobně jako _RPTn makra, ale obsahuje číslo zdrojového souboru název a řádek kde požadavek zpráva pochází

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_calloc_dbg

Přidělit zadaný počet bloků paměti na haldy s dalším prostorem pro ladění záhlaví a přepsat vyrovnávací paměti

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_expand_dbg

Velikost bloku smluvní nebo zadaný blok paměti haldy

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_free_dbg

Volného bloku paměti haldy

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_fullpath_dbg _wfullpath_dbg

Vytvořit název absolutní nebo celou cestu pro zadanou cestu relativní název pomocí _malloc_dbg přidělení paměti.

System::IO::file:: vytvořit

_getcwd_dbg _wgetcwd_dbg

Získat aktuální pracovní adresář pomocí _malloc_dbg přidělení paměti.

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_malloc_dbg

Přidělit blok paměti haldy s dalším prostorem pro ladění záhlaví a přepsat vyrovnávací paměti

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_msize_dbg

Výpočet velikosti bloku paměti haldy

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_realloc_dbg

Přesunutí nebo změna velikosti bloku přerozdělit zadaný blok paměti haldy

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

_strdup_dbg _wcsdup_dbg

Duplikuje řetězec, pomocí _malloc_dbg přidělení paměti.

System::String::clone

_tempnam_dbg _wtempnam_dbg

Generovat názvy, které můžete použít k vytvoření dočasných souborů pomocí _malloc_dbg přidělení paměti.

Nelze použítPoužijte volání funkce standardní C, PInvoke.Další informace naleznete v tématu Příklady vyvolat platformu.

Ladění rutin lze použít k krokovat kód původu pro většinu jiné c spuštění rutiny během ladění.Však Microsoft považuje za některé technologie je speciální a proto neposkytuje zdrojový kód pro tyto rutiny.Většinu těchto rutin patří do skupiny s plovoucí desetinnou čárkou zpracování nebo zpracování výjimek, ale několik ostatních jsou zahrnuty také.Následující tabulka uvádí tyto rutiny.

C spuštění rutiny, které nejsou k dispozici ve formě zdrojového kódu

ACOS acosf

_fpclass

_nextafter

ASIN

_fpieee_flt

Pow

Atan ARCTG2

_fpreset

printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l*

_cabs

frexp

_scalb

ceil

_hypot

scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l*

_chgsign _chgsignl

_isnan

setjmp

_clear87 _clearfp

_j0

Sin

_control87, _controlfp, __control87_2

_j1

SINH

_copysign _copysignl

_jn

Sqrt

Funkce COS

ldexp

_status87 _statusfp

COSH

protokol

Tan

Exp

LOG10

TGH

fabs

_logb

_y0

_Konečné

longjmp

_y1

podlahy

_matherr

_yn

fmod

modf

 

* Ačkoli zdrojový kód je k dispozici pro většinu Tato rutina, provádí interní volání jiné rutině, pro které není k dispozici zdrojový kód.

Některé funkce C Runtime a C++ operátory chovat odlišně při volání z ladění sestavení aplikace.(Všimněte si, že ladění sestavení aplikace lze provést definováním buď _DEBUG příznak nebo prostřednictvím propojení s ladicí verzi C Runtime library.) Behaviorální rozdíly obvykle obsahují speciální funkce nebo informace poskytnuté rutina pro podporu ladění procesu.Následující tabulka uvádí tyto rutiny.

Sestavit rutin, které chovat odlišně ladění aplikace

C přerušení rutina

C++ Odstranit operátor

C výrazu rutina

C++ nové operátor

Další informace o použití ladicí verze operátory C++ v předchozí tabulce, viz pomocí ladění haldy z C++.

Viz také

Referenční dokumentace

Spuštění rutiny podle kategorie

Kontrola chyb běhu