在 Rider IDE 中调试外部库

问题描述 投票:0回答:4

在 Visual Studio 2015 中,如果我有源代码,我可以非常轻松地调试外部库。我只需在 VS 中打开该库的源代码文件并设置断点,然后我只需要在“模块”视图中加载程序集(或模块),我可以在外部库上直接选择“加载符号”(和以及“始终加载符号”(如果需要)。

现在外部库中设置的断点可以工作了。

如何在 Rider IDE 中实现相同的效果?是否可以使用 Rider 调试外部库?

debugging external rider
4个回答
1
投票

严格来说,Rider 目前还不支持此功能,但计划在 2017.3 开始支持。 这里是 JetBrains Youtrack 上的一个问题,可供观看和投票。


0
投票

自 Rider 2017.3.1 (173.3994.2442) 版本起,该功能已默认可用。

默认启用外部源调试。如果您希望调试器忽略库代码,可以禁用它。

您还可以在反编译代码中设置断点:

要从源代码导航到外部代码中的符号,您可以使用几乎所有导航和搜索功能 - 如果导航目标位于库代码中,JetBrains Rider 将自动反编译并将其显示在编辑器中。跳转到库代码的最简单方法是按住 Ctrl 键并单击库符号的任何用法或按 F12。

如果您在调试外部符号时遇到问题,您可以在

%USERPROFILE%\.Rider2023.2\config\resharper-host\DecompilerCache
处删除反编译缓存(使用您的 Rider 版本)。

了解更多信息:


-1
投票

您可以将解决方案中的 lib dll 替换为 lib 源中的 dll。

这里是一个例子:如何在现有项目中调试OrchardCore源代码.

Orchard Core 是开源的,可以在您的 .net 项目中使用。你可以运行你的项目和orchard core官方项目,然后在oc中附加你的项目。


-2
投票
  • 在 Rider 设置中禁用复选框:“不要单步执行库脚本”。
  • 如果您有权访问源代码,请生成包含符号的 nuget 包。 (对于 netcore cli:dotnet pack -o "../myNugetPackages --include-symbols --version-suffix "-localversion"
  • 调整 nuget.config 包资源以从本地目录获取文件:

    <add key="local-packages" value="../myNugetPackages" />

  • 将本地包版本添加为 Rider 打开的项目中的依赖项。

  • 从源代码中打开文件(用于生成包)并添加断点。
© www.soinside.com 2019 - 2024. All rights reserved.