如何在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




