VSCode能编译成功,但无法调试

通过SSH连接Linux服务器,运用Makefile能够成功编译CUDA程序,make all, make run一切正常,能够输出结果并打印最后一行的程序运行结束标记。

但是一进行调试,要么卡住,要么一闪而过。

launch.json和tasks.json似乎都配置成功了,但是始终不行。

从逻辑上来讲,make run能够成功运行并生成可执行文件,说明编译成功了;

无法调试,要么是程序编译有问题,要么是设置有问题;

既然编译没问题,那么必是设置有问题;

问题如下:

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "C++ Debug",
        "type": "cppdbg",
        "request": "launch",
        "cwd": "${workspaceFolder}",
        "program": "${workspaceFolder}/workspace/pro",
        "args": [],
        "stopAtEntry": false,
        "environment": [
            {
                "name": "LD_LIBRARY_PATH", 
                "value": "/root/miniconda3/lib/python3.8/site-packages/trtpy/trt8cuda115cudnn8/lib64:/root/miniconda3/lib/python3.8/site-packages/trtpy/lib:/root/miniconda3/lib/python3.8/site-packages/trtpy/cpp-packages/opencv4.2/lib"
            }
        ],
        "externalConsole": false,  // 要设置为false,不然无法调试
        "MIMode": "gdb",
        "miDebuggerPath": "/usr/bin/gdb",
        "preLaunchTask": "build"
      }
    ]
}

问题出在这个"externalConsole",要设置为false, 不然在Linux上似乎无法正常调试。

猜你喜欢

转载自blog.csdn.net/cicy5219/article/details/131906402