如何用VS2017调试.NET Core控制台应用?断点未命中排查
解决VS2017调试.NET Core控制台应用断点未命中的问题
我来帮你排查下这个断点没命中的问题,你大概率是遗漏了这几个关键步骤,咱们一步步修正:
1. 确认发布时生成了调试符号文件(.pdb)
Debug配置发布不代表自动会生成调试符号,没有这个文件VS根本没法把断点映射到代码上:
- 右键你的控制台项目 → 打开属性 → 切换到生成标签页
- 在输出区域,确保调试信息设置为完整或pdb-only(Debug配置默认应该是完整,但建议手动确认)
- 再去发布设置里(右键项目→发布),点击设置按钮,在文件发布选项中勾选生成调试符号,这样发布目录里才会出现和dll对应的.pdb文件
2. 附加进程时选对代码类型
你选了「托管(v4.6, v4.5, v4.0)」,但.NET Core应用对应的代码类型是**「托管(.NET Core)」**(VS2017里会这么显示):
- 点击附加到进程窗口里的选择按钮,取消「自动选择代码类型」的勾选,手动勾选托管(.NET Core),再去附加dotnet.exe进程
3. 确认运行的是Debug版本的发布包
有时候可能不小心切到Release配置发布了,或者配置没生效:
- 检查发布目录里的dll,或者看发布时的输出日志,确认是用Debug配置打包的
- 也可以先在VS里直接按F5启动调试,确认本地调试能正常命中断点,再排查发布后的问题
4. 选对要附加的dotnet.exe进程
如果机器上同时跑了多个dotnet进程,很容易选错:
- 在附加进程窗口里,点击列按钮,勾选「命令行」列,找到对应你那个dll的dotnet.exe进程,再进行附加
按上面的步骤调整后,应该就能正常命中断点了。
内容的提问来源于stack exchange,提问作者ankush
相关产品推荐
相关产品推荐

