4 ms·
As I understand it, the windows minidump contains the stack data for each thread. This is more than the stack trace: It also contains local variables. Today,
by hyperman1 3y ago
As I understand it, the windows minidump contains the stack data for each thread. This is more than the stack trace: It also contains local variables. Today, most interesting things are probably pointers outside the minidump, but it is not uncommon in e.g. C to create a local array and dump some strings in them. Then the problem comes back.
- js2 3y agoYes, when I wrote "which is basically the stack for each thread" I did mean the raw bytes of the stack. I see now that wasn't clear. I was writing on mobile and apologize for the confusion. Unwinding then occurs later by walking through the stack memory, which is difficult to impossible unless either: a) the stack contains frame pointers; or b) you have unwind data. Without either of those the unwinder uses heuristics to guess at return addresses on the stack, but that's very unreliable and often leads the unwinder into a loop till it gives up.
- hyperman1 3y agoNo apologies needed. I am thankfull for your detailed, interesting post.