【问题标题】:Debug into a remote dll library in visual studio在 Visual Studio 中调试远程 dll 库
【发布时间】:2018-11-01 19:54:05
【问题描述】:

我正在尝试将我的调试器步进到一个 .dll 库中,该库是我从单独解决方案中的私有 nuget 存储库安装的。

该 dll 是我编写的,唯一一次我能够成功调试到它,我的方法如下:

  • 更新我的 dll 项目的版本号
  • 构建并 nuget 推送我的包
  • 通过 Visual Studio 的 nuget GUI 在可运行项目中下拉所述新版本。

不幸的是,这并不总是有效,我不确定在有效和无效的情况下会发生什么不同。

https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger

我浏览了上面的链接并尝试了建议的方法以及手动将 pdb 文件放置在我认为 VS 可能会去寻找它们的任何地方,但是除了我上面概述的步骤之外,我在所有远程调试中都没有运气。

谁能为我提供一种在我的库中持续调试的方法?

不幸的是,将库拉入可运行的解决方案对我来说不是一个选择。如果有办法使用新的 dll 版本远程托管 pdb 文件,我确实有权在我的私有 nuget 存储库中进行更改。

【问题讨论】:

    标签: c# visual-studio dll nuget remote-debugging


    【解决方案1】:

    在 Visual Studio 中调试到远程 dll 库

    您可以尝试使用以下轻量级解决方案:

    1. 将 pdb 和源代码文件与 dll 一起放在 NuGet 包中。
    2. 将源代码添加到引用包的解决方案的调试源文件中。

    查看this thread了解更多详情。

    注意,如果你更新私有nuget仓库中的dll版本,你应该在调试项目上更新这个包,并更新Debug Source Files的路径。

    【讨论】:

      【解决方案2】:

      从描述中我不完全确定,但我过去不得不操作的两个可能相关的选项在选项 -> 调试中。

      尝试关闭仅启用我的代码要求源文件与原始版本完全匹配

      【讨论】:

      • 我确实关闭了“仅启用我的代码”,但我不确定是否尝试了其他设置。我会试一试。
      【解决方案3】:

      尝试使用 dot peek https://www.jetbrains.com/decompiler/ 你应该可以使用它来做到这一点

      【讨论】:

      • 在查看 dot peek 之后,我想出了如何调试代码的 resharper 反编译版本来解决我的问题。谢谢!为了将来参考,我按照以下步骤操作:stackoverflow.com/a/32788309/2200915
      猜你喜欢
      • 2017-12-10
      • 2020-12-06
      • 2016-12-30
      • 2021-06-27
      • 2023-03-29
      • 2018-07-26
      • 1970-01-01
      • 2013-08-01
      • 2018-03-22
      相关资源
      最近更新 更多