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. ------------

Search the boards