Jak vypisovat ladící hlásky do debuggeru

Možná ste někdy ladily aplikaci která bězí ve fullscreenu (třeba DirectX)a tak nešlo pouźít strandardní vystup na obrazovku.Řešení je logovat události do souboru do normalního souboru pres stdio.To je dobré řešení,a pokud
chcete odezvu od uzivatelu tak ma své vyhody,protože vám prostě pošlou log soubor Další řešení ja psát hlasky na stderror,a případně si ho někám přesměrovat (nejlip zase do souboru.)Další řešení o kterém chci psát je poslat hlásku debuggeru,
vyhodou je že je to rychlejší nez zapis do souboru a pokud chce vaše aplikace chce hlaškamá debugger primo bombardovat a nebo třeba nemá možnost použivát I/O funkce (třeba píšete kernel fce  nebo drivery)a nebo taky ze je to prostě elegantni.
Zpravy do debuggeru se vam zobrazi bud v debug okne ve Visual Studiu nebo třeba v aplikaci DebugView od Sysinterals.
Nezapomente ze muzete mitp ripojen jen jeden debugger,tj kdyz ste ve Visual Studu budu se vam debug hlasky zobrazovat v nem a ne v DebugView a naopak.
Jak se pise hlaska do debuggeru ? Jednoduse proste Zavolate fci OutputDebugString()s prametermer retezce (bud unicode nebo ansi podle vaseho nstaveni)
Tady je příklad:

ukazka

Jestli nevite tak vsprintf je jako printf jen vystup je misto na obartzovku řetezce a můžete použít proměný pocet argumentu pres stdargs.
Takhle vypadá výstup z Visual Studia:

debugprintf

Pokud ´vam malé okno ve Visual Studiu nestaci můžete použít aplikaci DebugView
Pokud chcete odchytavat Debug vystup musite zvolit z menu Capture-Capture Global Win32,na to musite tento program spsusti jako spravce.

Program vypada takhle:

dw

Autor příspěvku: admin

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *