首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >调用堆栈中的“外部代码”是什么意思?

调用堆栈中的“外部代码”是什么意思?
EN

Stack Overflow用户
提问于 2012-07-24 18:53:48
回答 4查看 30.8K关注 0票数 38

我在Visual Studio中调用一个方法,并尝试通过遍历调用堆栈来调试它。

其中的一些行被标记为“外部代码”。

这到底是什么意思?来自.dll的方法已经执行了吗?

这个问题很愚蠢,但需要一个明确的答案。

EN

回答 4

Stack Overflow用户

发布于 2015-06-25 16:02:40

外部代码表示没有可用于该dll的调试信息。

您可以做的是在Call Stack窗口中单击鼠标右键。然后选择Show External Code,这将展开外部代码,并显示正在调用的模块。

一旦你得到它展开,你会看到动态链接库正在被调用,你可以通过点击Symbol Load Information...获取磁盘上的位置

这将打开一个对话框,显示磁盘上的位置

如果您想调试这些外部文件,您需要获得dll的.pdb文件,并将其放在与.dll相同的文件夹中

这应该允许你Load symbols (上面的屏幕截图2中的菜单)并开始调试。

More on getting .pdb files here.

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

希望这能节省你的时间。

票数 59
EN

Stack Overflow用户

发布于 2012-07-24 18:57:52

这些行不会被当前加载的调试符号引用。

此代码可以是外部DLL的一部分,也可以是CLR内的本机代码。如果您知道它是哪个模块,并且具有它们的调试符号,则可以手动将它们加载到Visual Studio中。

票数 1
EN

Stack Overflow用户

发布于 2012-07-24 18:58:22

您没有代码/符号的方法。例如.NET框架或第三方程序集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11629340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档