GDB для отладки OpenCV в ROS
Я использовал OpenCV в моей кодовой базе ROS. Я видел ошибку сегментации в функции в 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.
Я связал OpenCV в CMakeList.txt.
find_package(OpenCV REQUIRED)
target_link_libraries(agentlib debug ${OpenCV_LIBS})
2 ответа
Если вы установили пакеты форм OpenCV и ROS, попробуйте также установить пакеты -dbg. Если вы создали библиотеки самостоятельно, попробуйте собрать их в конфигурации отладки. Чтобы установить версию отладки для проекта CMake, вам нужно установить CMAKE_BUILD_TYPE
переменная к Debug
,
Комбинирование cmake -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -D CMAKE_BUILD_TYPE=DEBUG
успешно добавляет отладочную информацию.