问题描述
我正在尝试在VS 2019中设置Cmake ARM uC(STM32)嵌入式项目。
项目正常,但是我很难启动调试会话。
我修改了launch.vs.json
{
"version": "0.2.1","defaults": {},"configurations": [
{
"type": "cppdbg","name": "GCEC-FW.elf","project": "out\\build\\IoT-Debug\\GCEC-FW.elf","projectTarget": "","cwd": "${workspaceRoot}","program": "${workspaceRoot}\\BUILD\\${workspaceRootFolderName}.elf","MIMode": "gdb","externalConsole": true,"inheritEnvironments": [
"gcc_arm"
],"miDebuggerPath": "${env.gccpath}\\bin\\arm-none-eabi-gdb.exe","setupCommands": [
{
"text": "-environment-cd ${workspaceRoot}/BUILD"
},{
"text": "-file-exec-and-symbols ${workspaceRootFolderName}.elf","description": "load file","ignoreFailures": false
},{
"text": "-enable-pretty-printing","ignoreFailures": true
}
],"visualizerFile": "${debugInfo.linuxNatvisPath}","showdisplayString": true,"miDebuggerServerAddress": "localhost:3333","launchCompleteCommand": "None","debugServerPath": "C:\\Program Files (x86)\Atollic\\TrueSTUdio for STM32 9.3.0\\Servers\\J-Link_gdbserver\\JLinkGDBServerCL.exe","debugServerArgs": "-port 2331 -s -cpu Cortex-M -device STM32F427II -endian little -speed 4000 -vd -swoport 2332","serverStarted": "GDB\\ server\\ started","filterStderr": true,"filterStdout": true
}
]
}
但是,当我尝试启动调试会话时,出现错误,指出我的.elf
文件不是Win32可执行文件(实际上是正确的-不是)。
问题是:VS要开始此会话需要做什么?
编辑
添加新的微控制器调试配置时,我需要更改名称。 “名称”:“ GCEC-FW.elf”
现在,它抱怨到gdb的路径。
新问题是:我可以在VisualStudio中输出还是查看构建变量-如
${workspaceRootFolderName}
或${env.gccpath}
解决方法
关于“ ...我是否可以在Visual Studio中输出或查看构建变量-如: ${workspaceRootFolderName} or ${env.gccpath}
要在属性中显示所有当前可用的宏 页面对话框,在VC ++目录下,选择位于以下位置的下拉箭头 属性行的末尾。单击编辑,然后在编辑对话框中 框,选择宏按钮。当前的属性集和 列出了Visual Studio可见的宏以及当前值 每个。有关更多信息,请参见指定用户定义的值。 C ++项目属性页参考部分。