Posted By: Neuromancer (... bright eyes ...) on 'CZprogram'
Title: Re: Call stack
Date: Sat Mar 29 04:10:04 2003
> Nevite jeste nekdo jak udelat stack walk bez toho ze by clovek mel
> exception?
> Resp. - chci udelat stack walk v exception handleru, problem je, ze vsechny
> ty win32 funkce chtej CONTEXT kterej za normalniho behu nejak neumim dostat
> :( Jediny kde je je unhandled exception handler, tam se nikdy nedostanu,
> protoze ja si eksepsny chytam a nebo se da dostat pomoci GetThreadContext,
> ale to zase funguje jen na suspendovanejch threadech, takze si to na
> aktualni
> thread nezavolam :( Delals te to nekdo?
>
>
> Jerry III
>
> Enough said ...
> http://jerryiii.home.sprynet.com/mica/index.htm
Jestli myslis context pro stackwalk, tak:
Pointer to a CONTEXT structure. This parameter is required only when the
MachineType parameter is not IMAGE_FILE_MACHINE_I386.
Tj. pokud ti staci i386, tak muzes predat null. STACKFRAME strukturu vytvoris
celkem jednoduse, zakladem je ziskani aktualnich registru, treba takhle:
unsigned int nEIP, nESP, nEBP;
__asm {
call dummy
dummy: pop eax
mov nEIP, eax
mov nESP, esp
mov nEBP, ebp
}
--------------------------------------------------------------------/
| ICQ 20529980 Neuromancer |
| Take me far away, where the dragons fly, |
/------------ leave me to my dreams, or just let me die. ------------