如何在Emacs中调试C#/.NET项目?dap-mode报错求助
解决Emacs dap-mode调试.NET Core提示未加载coreclr包的问题
修复当前Emacs配置问题
你的配置存在加载顺序和版本匹配问题,按以下步骤调整:
调整配置结构,确保dap-netcore正确加载
把dap-netcore的配置整合到use-package体系中,保证加载顺序和初始化逻辑正确:(unless (package-installed-p 'dap-mode) (package-refresh-contents) (package-install 'dap-mode)) (use-package dap-mode :ensure t :config (require 'dap-netcore) (dap-netcore-setup)) ; 手动触发coreclr调试适配器初始化 (use-package dap-netcore :ensure t :custom ; 替换为适配.NET 6的netcoredbg版本下载链接 (dap-netcore-download-url "https://github.com/Samsung/netcoredbg/releases/download/6.0.101-1159/netcoredbg-win64.zip") (dap-netcore-install-dir "C:\\netcoredbg")) (dap-register-debug-template "C# .NET Core Launch" (list :type "coreclr" :request "launch" :name "C# .NET Core Launch" :program "${workspaceFolder}/bin/Debug/net6.0/MyApplication.dll" :cwd "${workspaceFolder}" :stopAtEntry nil :env (list "ASPNETCORE_ENVIRONMENT" "Development")))匹配netcoredbg与.NET版本
你当前调试的是.NET 6项目,但使用的netcoredbg是3.1.2版本,版本不兼容会导致适配器无法正常注册。必须下载与目标.NET版本匹配的netcoredbg安装包。验证netcoredbg安装有效性
打开命令行,进入C:\netcoredbg目录,执行:netcoredbg --version若能正常输出版本信息,说明安装成功;若报错,重新下载解压,确保路径无中文或特殊字符。
替代调试方案(不限工具)
如果Emacs配置仍有问题,可尝试以下更简便的方式:
- VS Code + 官方C#插件:安装VS Code后添加官方C#插件,打开项目会自动生成
.vscode/launch.json调试配置,按F5即可启动调试,支持断点、变量查看等全套调试功能。 - dotnet CLI + 系统调试器:在项目目录执行
dotnet build后,用dotnet run --debug启动程序,再用WinDbg(Windows)或lldb(Linux/macOS)附加到进程进行调试。
内容的提问来源于stack exchange,提问作者cali
相关产品推荐
相关产品推荐

