Visual C#backtrace:如何知道[外部代码]所在的位置?

时间:2009-12-16 07:03:51

标签: c# debugging backtrace

我使用visual c#来调试一个大型的c#项目。该项目非常庞大,只有一些pdbs是由我自己构建的。我可以构建所有的pdb但是它非常耗时。我正在调试回溯,但跟踪的一部分标有[外部代码]。我知道有些pdb丢失了,但我怎么知道外部代码所在的DLL呢?在C中,我可以获得EIP,然后查看流程映射以确定EIP的位置,但是如何在.Net环境中完成此操作?

2 个答案:

答案 0 :(得分:23)

进入工具|选项|调试|一般,并取消选中“启用我的代码”复选框。现在,Visual Studio将显示完整的调用堆栈(至少对于托管代码,您仍然可以在其中看到一些“本地到托管转换”)。

答案 1 :(得分:1)

因此,如果您的项目非常大,那么我认为所有类都在您的命名空间中很好地共享,并且所有程序集都以它们包含的命名空间命名。因此,如果看看外部代码开始(或结束)的位置,您应该从调用的位置找到(或者),并确定缺少的程序集pdb。