Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Windows WinRT Win8
Hi,
 
I am currently using StackWalk64 to get stack on win 8 and winRT(ARM processor).
It is working fine on win 8, but I don't know how to fill-in the variable with the structure STACKFRAME64 in order to make StackWalk64 working on WinRT.
 
I am using the following piece of code, and I am trying to fill-in the section _M_ARM
 
#ifdef _M_IX86
    *machineType         = IMAGE_FILE_MACHINE_I386;
    s->AddrPC.Offset     = context.Eip;
    s->AddrPC.Mode       = AddrModeFlat;
    s->AddrStack.Offset  = context.Esp;
    s->AddrStack.Mode    = AddrModeFlat;
    s->AddrFrame.Offset  = context.Ebp;
    s->AddrFrame.Mode    = AddrModeFlat;
#elif  _M_X64
    *machineType         = IMAGE_FILE_MACHINE_AMD64;
    s->AddrPC.Offset     = context.Rip;
    s->AddrPC.Mode       = AddrModeFlat;
    s->AddrStack.Offset  = context.Rsp;
    s->AddrStack.Mode    = AddrModeFlat;
    s->AddrFrame.Offset  = context.Rbp;
    s->AddrFrame.Mode    = AddrModeFlat;
#elif _M_IA64
    *machineType         = IMAGE_FILE_MACHINE_IA64;
    s->AddrPC.Offset     = context.StIIP;
    s->AddrPC.Mode       = AddrModeFlat;
    s->AddrStack.Offset  = context.IntSp;
    s->AddrStack.Mode    = AddrModeFlat;
    s->AddrFrame.Offset  = context.IntSp;
    s->AddrFrame.Mode    = AddrModeFlat;
    s->AddrBStore.Offset = context.RsBSP;
    s->AddrBStore.Mode   = AddrModeFlat;
#elif _M_ARM
 
#else
    return -1;
#endif
    return  0;

 
Could you help me please?
Thanks for your help
Posted 27-Jun-13 4:32am
egiogli277
Comments
Richard MacCutchan at 27-Jun-13 9:54am
   
Please don't post the same question in multiple forums; delete one of them.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 390
1 Jochen Arndt 165
2 Richard MacCutchan 135
3 DamithSL 95
4 Garth J Lancaster 90
0 OriginalGriff 6,045
1 DamithSL 4,601
2 Maciej Los 4,032
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,220


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 27 Jun 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100