【问题标题】:dotPeek Issue Debugging 3rd Party .dlldotPeek 问题调试第 3 方 .dll
【发布时间】:2014-10-22 22:12:29
【问题描述】:

我使用dotPeek v1.2VS2013 Update 3 来尝试调试引用的C# .dll 代码。我已经按照以下教程中的所有指示进行操作:Using dotPeek as a Symbol Serverhttp://localhost:33417/ 设置为符号位置等)老实说,我已经阅读了很多文章,例如 thisthis,梳理了一下所有必需的设置,并且真的没有看到 1 个调试 3rd 方非框架 .dll 的工作解决方案,所以我不相信这是一个完全工作的产品从这方面

不管怎样,一旦符号服务器启动,dotPeek 应该允许根据他们的文档从 VSNET 的第 3 方程序集中进入并调试代码。我知道要为 dotPeek 选择哪些 .dll,因为我从 Debug -> Windows -> Modules 检查了它们的路径。

我碰巧还安装了ReSharper,当我右键单击一行代码并选择“转到声明”时,它允许我反编译。问题是符号服务器似乎没有做任何事情来帮助在调试时提供代码。相反,ReSharper 提供的反编译源似乎是 VS.NET 想要加入的。问题是我总是收到以下错误:

源文件: C:\Users\用户名\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.executionengine.x86.exe

源文件与构建模块时不同。你会 还是喜欢调试器使用它?

如果我说“是”并且调试器中的步骤似乎位于文件中不存在且不同步的行上。这是有道理的,因为它从“源文件”位置显示.cs 类,但从/bin/Debug 加载了.dll

但是,我不明白为什么会发生这种情况,因为 dotPeek 应该提供从 /bin/Debug 加载的符号,而不是尝试进入 ReSharper 提供的任何反编译源。

我该如何配置,以便VS2103实际上调试dotPeek 提供的符号和代码?

【问题讨论】:

    标签: visual-studio debugging resharper dotpeek


    【解决方案1】:

    一个大问题是您需要确保在“工具”->“选项”->“调试”->“符号”页面中为缓存目录设置了有效路径。

    此外,在主调试选项页面(工具 -> 选项 -> 调试 -> 常规)确保您:

    • 取消选中“仅启用我的代码”选项
    • 取消选中“启用 .NET Framework 源代码步进”选项
    • 选中“启用源服务器支持”选项
    • 取消选中“要求源文件与原始版本完全匹配”

    还值得检查“将源服务器诊断消息打印到输出窗口”选项,并在尝试进入第 3 方代码时检查输出窗口。它应该有望指出任何问题。

    这就是我进行设置的方式,我可以调试第 3 方 dll(显然,在开始调试之前,dotPeek 也需要在程序集资源管理器中加载 .dll)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2010-10-21
      • 1970-01-01
      相关资源
      最近更新 更多