Home  >  Article  >  Development Tools  >  How to solve the problem that vscode cannot hit breakpoints

How to solve the problem that vscode cannot hit breakpoints

藏色散人
藏色散人Original
2020-02-06 11:21:437326browse

How to solve the problem that vscode cannot hit breakpoints

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn