Q:修改CMakeLists.txt让编译出来的程序支持gdb调试?
A:CMakeLists.txt中增加Debug选项;
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
Q:带参数的程序如何调试?
A:通过set args设置启动参数;
(gdb) set args --onnx_path ../../pytorch/PointPillarsDebug.onnx --data_path ../test/test_bins
Q:启动调试?
(gdb) start
(gdb) show args Argument list to give program being debugged when it is started is "--onnx_path ../../pytorch/PointPillarsDebug.onnx --data_path ../test/test_bins".
Q:在指定文件的指定行设置断点?
A: break 文件名:行号
(gdb) break Trt.cpp:242 Breakpoint 2 at 0x432480: file /home/zw/projects/hive_pointpillars/second/tiny-tensorrt7.2/Trt.cpp, line 242. (gdb) c Continuing.
Q:在指定函数入口设置断点?
A: break 函数名
(gdb) break test_onnx Breakpoint 2 at 0x44e600: file /home/zw/projects/hive_pointpillars/second/tiny-tensorrt7.2/test/test.cpp, line 119.
Q:单步执行?
A: (gdb) n
Q:查看当前一段代码?
A:(gdb) list