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 *