GDB在ROS中调试OpenCV

时间:2013-11-25 21:18:57

标签: c++ opencv gdb ros

我在我的ROS代码库中使用了OpenCV。我在OpenCV的一个函数中看到了一个分段错误。它可能不是OpenCV中的问题,但如果我知道错误是什么,对我来说调试会很有帮助。

但是,符号表不可用:

(gdb) bt full
#0  0x00007ffff633eefe in CvANN_MLP::predict(cv::Mat const&, cv::Mat&) const () from /opt/ros/hydro/lib/libopencv_ml.so.2.4
No symbol table info available.

我在CMakeList.txt中链接了OpenCV。

find_package(OpenCV REQUIRED)
target_link_libraries(agentlib debug ${OpenCV_LIBS})

2 个答案:

答案 0 :(得分:1)

如果您安装了OpenCV和ROS表单软件包,请尝试安装-dbg软件包。如果您自己构建库,请尝试在调试配置中构建它们。为CMake项目设置调试版本您需要将CMAKE_BUILD_TYPE变量设置为Debug

答案 1 :(得分:0)

组合cmake -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -D CMAKE_BUILD_TYPE=DEBUG成功附加调试信息。