我使用dotPeek v1.2和VS2013 Update 3来尝试调试引用的C# ..dll的代码。我遵循了以下教程中的所有说明:使用dotPeek作为符号服务器 (http://localhost:33417/设置为符号位置,等等)老实说,我读过许多像这和这这样的文章,梳理了所有必需的设置,而且还没有看到一个调试第三方非框架.dll的有效解决方案,所以我不认为这是一个从这方面完全可行的产品。
Regardelss,dotPeek应该允许一旦符号服务器启动,并根据它们的文档从VSNET从第三方程序集中调试代码。我知道要为.dlls选择哪个dotPeek,因为我从Debug -> Windows ->模块中检查了它们的路径。
我碰巧也安装了ReSharper,当我右键单击一行代码并选择“Go to Declaration”时,它允许我进行反编译。问题是,在调试时,符号服务器似乎没有做任何事情来帮助提供代码。相反,ReSharper提供的反编译源代码似乎是VS.NET想要跳进去的。问题是,我总是得到以下错误:
源文件: C:\Users\username\AppData\Local\JetBrains\ReSharper\v8.2\SolutionCaches_ReSharper.Meijer.Ecommerce.Nav.WebAppServices.-382002776\Decompiler\decompiler\53\66e7ccc2\MyClass.cs 模块: C:\Projects\MyProject\bin\Debug 进程: 24808 vstest.ExecutionEngin.x86.exe 源文件与模块构建时不同。您想让调试器使用它吗?
如果我说,“是”和“在调试器中的步骤”似乎是在文件中不存在且不同步的行上。这是有意义的,因为它从‘源文件’位置显示.cs类,但是从/bin/Debug加载了.dll
但是,我不明白为什么会发生这种情况,因为dotPeek应该为从/bin/Debug加载的符号提供服务,而不是试图进入任何已解压缩的源ReSharper。
我如何配置它,以便VS2103能够实际调试从dotPeek提供的符号和代码
发布于 2014-10-23 08:03:55
一个大问题是,您需要确保在Tools -> Options -> Debugging ->符号页面中为缓存目录设置了有效的路径。
此外,在“主调试选项”页面(Tools -> options -> Debugging -> General)上,请确保:
还值得检查“打印源服务器诊断消息到输出窗口”选项,并在尝试进入第三方代码时检查输出窗口。希望它能指出任何问题。
这就是我设置的方法,我可以调试第三方.dll (显然,在开始调试之前,dotPeek需要在程序集资源管理器中加载.dll)。
https://stackoverflow.com/questions/26518013
复制相似问题