2013-11-25 60 views
1

我在ROS代码库中使用了OpenCV。我在OpenCV的函数中看到了一个分段错误。这在OpenCV中可能不是问题,但是如果我知道错误究竟是什么,它将对我进行调试很有帮助。GDB调试ROS中的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}) 

回答

1

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

0

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