You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Rider中关闭文件反编译?解决调试栈追踪显示反编译文件问题

解决Rider调试时栈追踪显示反编译文件的问题

我之前也被这个问题折腾过好一阵子!调试断点后看栈追踪,每次跳出来的都是反编译的代码,根本找不到自己写的原始文件,太影响效率了。给你分享几个亲测有效的解决办法:

1. 确保项目生成完整的调试符号

首先得让Rider能找到对应原始代码的符号文件,这是基础:

  • 右键你的项目 → Properties → 切换到Build标签页 → 点击右下角的Advanced按钮
  • 在弹出的窗口里,把Debugging information设置为「Full」或者「Portable」(别选「None」),保存设置后重新编译项目。

2. 调整调试器的源文件优先级

让Rider优先使用本地项目的源文件,而不是自动反编译:

  • 打开Rider的设置(快捷键Ctrl+Alt+S,或者通过File > Settings
  • 导航到 Build, Execution, Deployment > Debugger > General
  • 找到并勾选 Prefer source files from the project over decompiled sources 这个选项(不同版本的Rider可能表述略有不同,核心是让项目源文件优先级更高)
  • 另外,也可以在同路径下检查是否有「Enable decompiler for missing sources」之类的选项,如果有的话可以暂时关闭,或者调整它的触发逻辑。

3. 手动映射源文件路径(如果符号路径不匹配)

有时候符号文件里记录的源文件路径和你本地的路径不一致,Rider就会找不到原始文件而触发反编译:

  • 打开设置 → Build, Execution, Deployment > Debugger > Symbols
  • 点击 Add Source Path Mapping,在弹出的窗口里:
    • 「Symbol file path」填符号文件里记录的路径(通常可以在反编译文件的顶部看到这个路径提示)
    • 「Local path」填你本地项目中对应源文件的实际路径
  • 保存后重新调试试试。

4. 临时快速切换(调试时应急用)

如果调试中已经打开了反编译文件,不用急着去改设置:

  • 看文件窗口的右上角,通常会有一个「Attach Sources」或者「Use Original Sources」的按钮/选项,点击它选择本地的原始源文件,就能直接切换过去,下次调试这个位置应该就会优先跳原始文件了。

如果以上方法都不行,试试清理Rider的缓存(File > Invalidate Caches...),缓存混乱偶尔也会导致这种奇怪的问题。

内容的提问来源于stack exchange,提问作者yrslvrtfmv

火山引擎 最新活动