美文网首页
Vscode配置GDB调试Nginx环境

Vscode配置GDB调试Nginx环境

作者: 很菜呀 | 来源:发表于2020-04-25 21:00 被阅读0次

    配合remote-ssh,可以很好地使用gdb直接调试远程服务器上的程序

    比如我们此次使用GDB来直接调试nginx

    配置gcc和gdb的路径

    配置此次项目的一些特殊配置

    {
        "files.associations": {
            "ngx_config.h": "c"
        },
        "remote.SSH.remotePlatform" : "linux",
    }
    

    配置launch.json,配置查执行程序的路径,配置gdb的路径

    {
        // 使用 IntelliSense 了解相关属性。
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
    
            {
                "name": "gcc build active file",
                "type": "cppdbg",
                "request": "launch",
                //指定程序的路径
                "program": "${workspaceFolder}/objs/nginx",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "为 gdb 启用整齐打印",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "gcc build active file",
                "miDebuggerPath": "/usr/bin/gdb"
            }
        ]
    }
    

    配置tasks.json,来指定gcc的路径

    {
    // 有关 tasks.json 格式的文档,请参见
        // https://go.microsoft.com/fwlink/?LinkId=733558
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "gcc build active file",
                "command": "/usr/bin/gcc",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}"
                ],
                "options": {
                    "cwd": "/usr/bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": "build"
            }
        ]
    }
    

    添加断点并进行代码调试

    添加断点,然后按F5进行调试。如果要修改启动参数的话,在launch.json中添加启动参数

    nginx需要添加单进程模式,这样方便调试

    worker_processes  1;   
    master_process  off;             #  单进程模式  
    daemon          off;        
    
    添加断点并调试.png

    相关文章

      网友评论

          本文标题:Vscode配置GDB调试Nginx环境

          本文链接:https://www.haomeiwen.com/subject/jellwhtx.html