Sim*_*ely 27 .net c# debugging visual-studio
我在Visual Studio中调用一个方法,并尝试通过调用堆栈来调试它.
其中的一些行标记为"外部代码".
这到底是什么意思?来自.dll的方法已被执行?
愚蠢的问题; 但需要一个确定的答案.
Mat*_*ius 34
[外部代码]表示该dll没有可用的调试信息.
你可以做的是在Call Stack窗口中单击鼠标右键.然后选择Show External Code此项将展开[外部代码]并显示正在调用的模块.

一旦你扩展它,你会看到被调用的dll,你可以通过点击获得磁盘上的位置 Symbol Load Information...

这将打开显示磁盘位置的对话框

如果要调试这些外部文件,则需要获取.pdbdll的文件并将其放在同一文件夹中.dll
这应该允许你Load symbols(上面的屏幕截图2中的菜单Symbol Load Information)并开始调试.
希望这能为您节省一些时间.
Tig*_*ran 13
这些是符号信息当前不可用的行Visual Studio Debugger.换句话说Debugger,无法从执行的行中检索代码.
我当前写的是因为可以下载或设置符号信息.
有关详细信息,请参阅:如何:指定符号位置和加载行为
符号“外部代码”指的是不属于“我的代码”的所有内容。
这就是 MSDN 文档中描述的方式如何:使用调用堆栈窗口
在托管代码中,默认情况下。调用堆栈窗口隐藏非用户代码的信息。> 出现以下符号而不是隐藏信息。
<[外部代码]>
非用户代码是任何不是“我的代码”的代码。`
Your Code就像您认为自己所做的一切一样。因此,使用此定义,在调用堆栈的跟踪中省略了属于外部 dll 的所有内容。
此外,根据如何:单步执行我的代码,您可以拒绝调试器尝试跟踪非用户代码。
在这里,您将找到user code实际情况的解释:
为了区分用户代码和非用户代码,Just My Code 关注三件事:DBG 文件、PDB 文件和优化。
| 归档时间: |
|
| 查看次数: |
18420 次 |
| 最近记录: |