keskiviikko, 3. helmikuuta 2010

Muistidumppi prosessista: parempi tapa joka ei tapa

Aikaisemmassa postauksessa Dr. Watsonilla luotu muistidumppi tappoi prosessin. Ehkäpä hänelle löytyy joku komentorivioptio millä tuon sivuoireen voisi välttää.

Toinen tapa tehdä asia on käyttää WinDbg:tä seuraavasti:


windbg.exe -Q -pd -pn <prosessin nimi>.exe -G -c ".dump /o /mafutp /u <outputfile>;qq"


-Q optio estää työkalun kyselemästä tyhmiä

-pd estää prosessin lopettamisen kun debuggeri detachöi itsensä

-pn liittää debuggerin prosessin nimen perusteella

-G lopettaa debuggaussession välittämästi clientin sulkeutuessa

-c suorittaa eräajotyylisesti seuraavan stringin määrittelemän komentosekvenssin.

Huomaa kirjoittaa dumppitiedoston nimi komentosekvenssiin ennen exittiä qq:lla.