はじめに
LD06 LiDARをラズパイのUARTからROS2で直接触れるようにする作業をしています.が,進捗が芳しくないので,途中で見つけたデバッグ方法について書きます.
launch.pyに細工
デバッグをしたいノードを起動するNode
なり,LifecycleNode
の引数に
prefix = ['xterm -e gdb -ex run --args']
を追加します.
参考
https://navigation.ros.org/tutorials/docs/get_backtrace.html#from-a-launch-file
ssh
WSL2のターミナルからX11転送をするため-X
オプションを付けてSSHコマンドを叩きます.
実行
ros2 launch
で細工したlaunch.pyを起動し,ノード内でSEGVなどが起こると,WindowsにWSLg経由でGDB用ウィンドウが表示されます.
さいごに
かなり薄味な記事になってしまいましたが,お役に立てば幸いです.
使用ソース
- [ldrobot-lidar-ros2]
(https://github.com/Myzhar/ldrobot-lidar-ros2)
(MITライセンス)