Visual Studio 2019中Just My Code排除自有代码,原因及重新标记方法
问题原因
- 项目编译时开启了代码优化(比如Release模式默认开启),Just My Code会把优化后的模块默认判定为非自有代码
- 项目没生成匹配的.pdb符号文件,或者符号文件丢失、路径不对,VS无法识别这是你的代码
- 程序集被VS判定为“外部代码”:比如你引用了自己的类库,但类库不在当前解决方案里,或者类库的编译配置不符合Just My Code的识别规则
- 代码里被标记了
[DebuggerNonUserCode]属性,强制让Just My Code把它排除在外
解决方法
确保生成正确的符号文件
右键项目 → 属性 → 生成 → 高级,把“调试信息”改成「完整」或「pdb-only」。如果是Release模式,默认可能是「无」,必须改成前两者,这样VS才能获取到足够的调试信息来识别你的代码。
手动标记代码为自有代码
用属性标记
在需要被识别为自有代码的类或方法上添加[DebuggerUserCode]属性,这样Just My Code会直接把它归为你的代码。如果之前代码里有[DebuggerNonUserCode],删掉这个属性就行。
配置Just My Code规则
- 打开VS的「工具」→「选项」→「调试」→「常规」,确认“启用Just My Code”是勾选状态
- 点击右侧的「配置Just My Code」按钮
- 在弹出的窗口里点「添加」,输入你的程序集名称(比如
YourProject.dll),然后选择「包含在我的代码中」,保存设置后重启调试
确保程序集属于当前解决方案
如果是你自己写的类库被判定为外部代码,直接把类库项目添加到当前解决方案里,VS默认会把解决方案内的项目代码识别为自有代码。
修复符号文件路径
打开模块窗口(调试 → 窗口 → 模块),找到你的模块右键 → 符号加载设置,把项目的输出目录(比如bin/Release或bin/Debug)添加到符号搜索路径里,让VS能自动找到匹配的.pdb文件。
内容的提问来源于stack exchange,提问作者sayanel
相关产品推荐
相关产品推荐

