views:

703

answers:

2

I am debugging a user dump file and there is this class member function at the top of the the stack trace

  • the stack trace is something like this -

msvcr80.dll!invalid_parameter_noinfo() + 0xc bytes - **1st FRAME msvcr80.dll!invalid_parameter_noinfo() + 0xc bytes - **2nd FRAME
myDLL!myClass::myClassMemFunc(int val = 90) - 3rd FRAME

now when i jump to the 3rd frame - the "this" pointer value is invalid (the "this" value is retrieved from the ECX register - but the ECX register value got changed in the first two function of the above stack trace - ) - so i am not able to see the actual member variables of my class object -

but i know the address of my class object though - which is 0x0012ECE0

when i am trying to watch that memory address with - (myClass*)(0x0012ECE0)

i get a CXX0019: Error: bad type cast

even (myClass)(0x0012ECE0) generates the same error.

am i doing anything wrong here ? - whats the right way to retrieve the class object value ? -

thanks -

+1  A: 
A: 

This might not help with the user dump you've got now, but for future user dumps, set the Optimisation setting "Omit frame pointers" to No. This helps with "this" pointers and local vars.

Meski