👏
backward_rosでROS2ノードのデバッグ
これを使用してROS2ノードのデバッグをする。
↑自体はbackward_cppというものをROSで使えるようなWrapperとして作成されたもの。 実行ファイルがセグフォで死んだときにターミナルにスタックトレースした結果を貼ってくれる。ROSノードだとノードが死んだタイミングでどの行で落ちたかをとりあえず標準出力で出す。ひとまず落ちた箇所の特定をしたい場合は結構便利。使用環境は以下
ROS2 humble
ubuntu 22.04
下記でインストールが可能
sudo apt install ros-humble-backward-ros
使用方法は以下のように使用したいROSパッケージのCMakeLists.txtに追加する。
find_package(backward_ros REQUIRED) #追記
ament_auto_add_executable(hoge hoge.cpp)
~~~~
add_backward(hoge) #追記
デバッグモードでビルド
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Debug
実行してノードが落ちるとこんな感じでバッと出してくれる。
Discussion