tmighty
tmighty

Reputation: 11399

Why does the callstack not show the previous calls?

In my VS2022 C++ project, something goes wrong after some time. Because the error occurs after 10 minutes only, I need to inspect the call stack to see what went on before the error occured.

However, the call stack is too small.

It just shows this:

enter image description here

I have set break points manually to follow it back, so I know that there are several of my own functions before "ProcessTxtLine" (which is shownn in the call stack), but in the call stack they are not there. So I can not double click them in order to get there quickly.

Because I don't know what else might be important, I am posting a screenshot of my entire VS 2022 window.

Thank you.

enter image description here

Edit:

According to a suggestion, I clicked the first entries, then selected Load Symbols.

However, that did not help. It does show some more, but still not "my" calls.

enter image description here

Upvotes: 2

Views: 974

Answers (1)

Chronial
Chronial

Reputation: 70813

The message in the callstack is the relevant hint: You need to load more debug symbols for the callstack to be displayed correctly. You can right-click on the first entry in the callstack (the KernelBase.dll... line) and select "Load symbols". You might have to load symbols for more modules than this, but you should get new messages telling you about this.

This issue is unique to 32bit applications. Due to the way the 32bit calling convention works, it is not possible to generate a call stack without debug symbols for all the topmost stack entries. If you compile your application for 64bit, this problem will go away.

Upvotes: 6

Related Questions