首页 网络技术
  1. 正文

vscode不能命中断点的解决方法

vscode不能命中断点如何解决?

vscode c++ 编译生成后,调试时无法命中断点的解决办法

//test.cpp#include <stdio.h>int g_var = 0;void print_line(char *str){
if (str != NULL)
printf("%s\r\n", str);
else
printf("null string\r\n");}int main (int argc, char **argv){
int l_var = 1;
print_line("hello world!");
printf("g_var = %d, l_var = %d.\r\n", g_var, l_var);
return 0;}

launch.json

{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/test.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

tasks.json

{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "test",
"type": "shell",
"command": "g++",
"args": ["-g", "${file}", "-o", "${workspaceRoot}/test.exe"]
}
]}

编译成功后,在源码中设置断点,却无法命中断点。

后来查看官方c++编译调试文档和尝试,在launch.json文件的

"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]

后面加上

"preLaunchTask": "test" 配置,调试时就可以正常命中断点了。

注意:别忘了"setupCommands"的中括号’ ] ‘后面加上一个逗号。

本文标题:vscode不能命中断点的解决方法
本文链接:https://www.qqooo.cn/post/5954.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 xsds@vip.qq.com 处理,谢谢!