Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "external code" in the call stack mean?

I call a method in Visual Studio and attempt to debug it by going over the call stack.

Some of the rows in it are marked "External code".

What exactly does this mean? Methods from a .dll have been executed?

Stupid question; but need a definitive answer.

like image 474
Simon Kiely Avatar asked Jul 24 '12 10:07

Simon Kiely


People also ask

What does external code mean?

External cause codes identify the cause of an injury or health condition, the intent (accidental or intentional), the place where the incident occurred, the activity of the patient at the time of the incident, and the patient's status (such as civilian or military).

How do you read a call stack?

Call stack is set of lines, which is usually read from top to bottom - meaning moving from current locations to callers. The bottom line was executed first. The top line is executed last and it is the current routine.

What is just my code warning?

Just My Code is a Visual Studio debugging feature that automatically steps over calls to system, framework, and other non-user code. In the Call Stack window, Just My Code collapses these calls into [External Code] frames. Just My Code works differently in . NET, C++, and JavaScript projects.


1 Answers

[External code] means that there is no debugging information available for that dll.

What you can do is in Call Stack window click right mouse button. Then select Show External Code this will expand [External Code] and will show you modules that are being called.

enter image description here

once you get it expanded you will see dll's that are being called you can get locations on disk by clicking on Symbol Load Information...

enter image description here

This will open dialog that shows locations on disk

enter image description here

If you want to debug these external files you need to get .pdb files for dll's and place in same folder as .dll

this should allow you to Load symbols (menu in screenshot 2 above Symbol Load Information) and start debugging.

More on getting .pdb files here.

And here's an actual example of EF .pdb being generated

Hope this saves you some time.

like image 147
Matas Vaitkevicius Avatar answered Sep 30 '22 19:09

Matas Vaitkevicius