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上似乎无法正常调试。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在VSCode中进行交叉编译和远程调试,你需要安装一些扩展和做一些配置。下面是一些步骤供你参考: 1. 安装VSCode:首先,确保你已在本地计算机上安装了VSCode编辑器。 2. 安装适当的扩展:在VSCode中,你需要安装以下扩展: - Remote Development:这个扩展可以帮助你远程连接到目标设备进行开发和调试。 - C/C++:这个扩展提供了用于C/C++开发的工具链和功能。 3. 配置SSH连接:将目标设备的SSH连接配置到VSCode中。你可以在VSCode的命令面板中使用"Remote-SSH: Connect to Host"命令来配置SSH连接。 4. 创建工作区:在VSCode中创建一个新的工作区,并将你的源代码文件添加到工作区。 5. 配置交叉编译器:在工作区中,创建一个名为`.vscode`的文件夹,并在该文件夹中创建一个名为`c_cpp_properties.json`的文件。在这个文件中,可以指定交叉编译器的路径和其他相关设置。例如,对于ARM架构,你可以指定`"compilerPath": "/usr/bin/arm-linux-gnueabihf-gcc"`。 6. 配置调试器:在工作区中,创建一个名为`.vscode`的文件夹,并在该文件夹中创建一个名为`launch.json`的文件。在这个文件中,你可以配置远程调试器的设置。例如,对于GDB调试器,你可以指定以下配置: ```json { "version": "0.2.0", "configurations": [ { "name": "Remote GDB", "type": "cppdbg", "request": "launch", "program": "/path/to/your/executable", "cwd": "${workspaceFolder}", "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "targetArchitecture": "arm" } ] } ``` 在这个配置中,你需要将`program`指定为你要在目标设备上运行的可执行文件的路径。 7. 开始远程调试:连接到目标设备后,你可以通过单击VSCode底部的调试按钮,然后选择你在`launch.json`中配置的调试器来启动远程调试。 这些步骤是一般的指导,具体的设置可能因你所使用的目标设备和编译器而有所不同。请根据你的需求和环境进行相应的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值