!clrstack -p not giving the values of the parameters for the methods in the call stack

StackOverflow https://stackoverflow.com/questions/10518588

  •  06-06-2021
  •  | 
  •  

Question

We are trying to analyze a w3wp memory dump using windbg and we found that w3wp process is crashing due to stack overflow. I loaded the psscor4.dll and got the call stack by issuing !clrstack. But I also want to know the paramaters being passed to the methods. If I issue "!clrstack -p" or "!clrstack -a", we are getting <no data> for all the Parameters and local variables. Any idea, why we are getting <no data> instead of actual values for the Parameters and local variables ?

Was it helpful?

Solution

If you're running a release build you will usually not be able to track locals and parameters as they are optimized and store in registers. If you really need it, you can look at the JIT compiled code and locate the values in the registers but that may require a lot of book keeping.

OTHER TIPS

Such are the joys of debugging optimized code. If you use !sosex.mdv, you'll at least get the datatypes of your locals/args. Then you can run !sos.dso or !sosex.mdso to see the objects on the stack with their types. It's usually not terribly difficult to track down the arguments this way, though it does not always work.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top