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教程
The above is the detailed content of How to solve the problem that vscode cannot hit breakpoints. For more information, please follow other related articles on the PHP Chinese website!