You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试由自定义.NET Core 2宿主加载的托管程序集?

调试自定义.NET Core 2.0宿主中的托管代码

嘿,我刚好之前也折腾过类似的自定义宿主调试问题,给你几个实用的方案试试:

方案一:手动触发调试器附加

  • 在你需要调试的托管代码位置,插入一行代码:System.Diagnostics.Debugger.Launch();
  • 启动自定义宿主后,执行到这行代码时会弹出调试器选择窗口,选你正在使用的Visual Studio实例,就能直接进入托管代码的断点调试环节了。

方案二:通过Visual Studio配置调试启动项

  • 打开你的原生宿主项目,右键点击项目→属性→切换到调试选项卡
  • 在「启动操作」里选择「启动外部程序」,选中你的自定义宿主可执行文件
  • 如果宿主启动需要指定加载的程序集或其他参数,在「命令行参数」里补充完整
  • 接着在托管代码项目里设置好断点,按F5启动宿主调试,Visual Studio会自动附加到宿主进程,托管代码执行到断点时就会自动停下

方案三:借助环境变量启用调试

  • 启动宿主前,先设置两个环境变量:
    • CORECLR_ENABLE_PROFILING=1
    • CORECLR_PROFILER={E53E7B4E-1C9F-418D-8F5B-205649912C38}(这个GUID是Visual Studio调试器的默认Profiler ID)
  • 启动宿主后,打开Visual Studio,通过「调试」→「附加到进程」,选中你的宿主进程,附加类型选择「托管(.NET Core, .NET 5+)代码」,确认后就能调试托管代码了

额外提醒:要确保托管代码项目和宿主使用的.NET Core版本一致,调试时选择的架构(x86/x64)也要匹配,不然可能出现附加失败或者断点不命中的情况。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:26:00