上面这个问题问完了。
第二个问题: 我也尝试了另一种方案,配置dap-debug-template luanch.json的内容配置了我的dap-debug-template. 可以看到会生成命令,但是会因为命令中路径没有被自动加上引号而报错。 这个我也找不到解决方案。
,同时附上我在VScode中launch.json生成的控制台命令,对比message中的命令,可以看到区别是添加了引号。
上面这个问题问完了。
第二个问题: 我也尝试了另一种方案,配置dap-debug-template luanch.json的内容配置了我的dap-debug-template. 可以看到会生成命令,但是会因为命令中路径没有被自动加上引号而报错。 这个我也找不到解决方案。
,同时附上我在VScode中launch.json生成的控制台命令,对比message中的命令,可以看到区别是添加了引号。
附: VSCODE:生成的指令: PS A:\INSTALLED_FILES\Program Files (x86)\Emacs\Code> & ‘c:\Users\35498.vscode\extensions\ms-vscode.cpptools-1.3.0\debugAdapters\bin\WindowsDebugLauncher.exe’ ‘–stdin=Microsoft-MIEngine-In-jxtvkpy2.yjg’ ‘–stdout=Microsoft-MIEngine-Out-o30mwjol.nh1’ ‘–stderr=Microsoft-MIEngine-Error-5wtt1agp.qx4’ ‘–pid=Microsoft-MIEngine-Pid-02kd3oom.201’ ‘–dbgExe=C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe’ ‘–interpreter=mi’
Emacs 中dap-debug根据dap-debug-template生成的指令: a:\INSTALLED_FILES\Program Files (x86)\Emacs.emacs.d.extension\vscode\cpptools\extension\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-zdqijvgf.yue --stdout=Microsoft-MIEngine-Out-kzasjylo.jfv --stderr=Microsoft-MIEngine-Error-u534d5u3.m45 --pid=Microsoft-MIEngine-Pid-5qgb1g2h.eyx --dbgExe=C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe --interpreter=mi:
去给 dap-mode 提个 issue 吧,估计没人在 windows 上用
‘a:\INSTALLED_FILES\Program’ 不是内部或外部命令
这里路径首先就错了,路径被空格截断了。其中 INSTALLED_FILES
是个变量没展开?
另,相关项目/资源的链接不给,让别人看截图手打链接,帮你诊断问题?
感谢回复,不好意思~~,INSTALLED_FILES只是一个文件夹的名字,命令是启动 a:\INSTALLED_FILES\Program Files (x86)\ 路径下的.exe文件。咱们 都知道,这个命令中存在空格,输入进cmd会报错,所以需要添加引号。问题在于Emacs M-x dap-mode使用我的VScode的luanch.json配置出的命令 没有添加引号,所以想问有没有xdm遇到过这个问题。
另外附上我的dap-debug-template: (dap-register-debug-template “cpptools::Run Configuration” (list :name “cpptools::Run Configuration” :type “cppdbg” :request “launch” :program “${fileDirname}/${fileBasenameNoExtension}.exe” :args nil :cwd “${workspaceFolder}” :environment nil :MIMode “gdb” :miDebuggerPath “C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe”))
[quote=“erick, post:5, topic:17050, full:true”] 感谢回复,不好意思~~,INSTALLED_FILES只是一个文件夹的名字,命令是启动 a:\INSTALLED_FILES\Program Files (x86)\ 路径下的.exe文件。咱们 都知道,这个命令中存在空格,输入进cmd会报错,所以需要添加引号。问题在于Emacs M-x dap-mode使用我的VScode的luanch.json配置出的命令 没有添加引号,所以想问有没有xdm遇到过这个问题。
另外附上我的dap-debug-template: (dap-register-debug-template “cpptools::Run Configuration” (list :name “cpptools::Run Configuration” :type “cppdbg” :request “launch” :program “${fileDirname}/${fileBasenameNoExtension}.exe” :args nil :cwd “${workspaceFolder}” :environment nil :MIMode “gdb” :miDebuggerPath “C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe”))
想在中文社区先尝试一下嘿,dap-mode那里用win10的更少,tutorials里给的都是linux那样的
之前折腾过debug当前文件的,你可以参考一下。系统是 arch linux, windows没试过 https://github.com/archer-n/emacs.d/blob/archer’s/lisp/init-lsp.el#L23
dap-debug 可以的,我这个我只试过debug单文件的。
用dap-debug,需要在源码目录编译一个没有扩展名的文件,我给写成 archer/dap-debug-before-cc-compile-current-file
函数来编译和调用dap-debug了。
谢谢老哥~~,我去dap-mode的github上提问啦,我暂时先用gdb手动调试算鸟!