背景
师兄给了一个和demo 可以使用登临的GPU 跑yolov5模型 C++ 版本的,
流程是通过cmake编译 CMakeLists.txt 生成 Makefile 之后再进行Make 生成可执行文件 之后运行
问题:
- 调试方法和我们平时用vscode gdb 调试 不太一样 ,他首先需要进入python 和 C++的环境
source /dl/sdk/env.sh
source /dl/python/bin/activate
cd build
cmake ..
make
需要在调试之前生成可执行文件 通过上面的几行代码 之后再进行调试
- 错误信息 : ptrace:Operation not permitted
https://www.cnblogs.com/Wade-/p/14956608.html
默认情况下Linux只允许attach和启动gdb的用户相同的进程,比如A用户启动gdb,但某个程序是由B启动的,则gdb无法attach。
ptrace scope的安全机制。这种机制为了防止用户访问当前正在运行的进程的内存和状态,所以在调试程序的过程中导致gdb不能正常工作
- 错误信息 : [1] + Done /usr/bin/gdb --interpreter=mi –
tty=${DbgTerm} 0</tmp/Microsoft-MIEngine-In-qtiwuh3h.k9n 1>/tmp/Microsoft-
MIEngine-Out-apeq1am0.2xp
解决方法 :
在 launch.json 文件中添加这个 key : values
“miDebuggerArgs”: “-q -ex quit; wait() { fg >/dev/null; }; /bin/gdb -q --interpreter=mi”
https://github.com/microsoft/vscode-cpptools/issues/3298
- 更改.vscode launch.json tasks.json c_cpp_properties.json 配置文件
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/c++/8",
"/usr/local/opencv/include/opencv4/opencv2/",
"/usr/local/opencv/include/opencv4"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "program-debug",
"type": "cppdbg",
"request": "launch",
//待调试的程序
"program": "${workspaceFolder}/OpenCV_test",
"args": [],
"stopAtEntry": false,
//工作目录,用于寻找文件及图片等
"cwd": "${workspaceFolder}",
//配置的环境变量,相当于使用一次export命令,这里没有实际使用
"environment": [
{"name": "workdir", "value": "workspace"}
],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
//每次进行调试前先进行编译操作:
"preLaunchTask": "build"
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "make -j6"
},
]
}
https://algorithmic.blog.csdn.net/article/details/128392856?spm=1001.2014.3001.5502
- 错误信息:/home/firefly/Tingshuo/cyclegan/build/cyclegan: error while loading shared libraries: libdlhc.so: cannot open shared object file: No such file or directory
vim /etc/ld.so.conf 打开这个配置文件 加入库的路径
/dl/sdk/lib/
cd /etc/ld.so.conf.d
vim denglin.conf
/dl/sdk/lib/
ldconfig
https://blog.csdn.net/qq_41980563/article/details/103052824