いうモータードライバをROS2対応する記事を書く予定だったのですが、間に合いませんでした。こちらは別途目処が立ったらQiitaで紹介したいと思います。いう記事をQiitaで執筆したのですが、この記事は今でも自分でよく見返すことがあります。ROS2での開発においても、gdbを使ってデバッグしようとした時にリファレンスが欲しくなることは間違いないでしょう。launchを使った方法を日本語で簡単に解説しているサイトがないのでここに書き留めます。準備gdbを使用するためには、デバッグ情報を付与する必要があります。buildでも直接CMakeに引数を与えていましたが、ROS2では--cmake-argsオプションをつける必要があるようです。runにもrosrunと同じように実行時に引数を与えることで、実行時にプレフィックスを指定することが可能です。gdbを利用する場合には、以下のようなコマンドを実行します。node_nameこの書式はROS1と全く変わりありませんね。launchですが、Dashing時点ではlaunchファイルをPythonでしか記述することができません。roslaunchでは<node>タグにlaunch-prefix属性を設定することができましたが、Pythonでも同じことが可能でしょうか?結論から書くと、執筆時点ではgdbからNodeを立ち上げることはできましたが、gdbのプロンプトを使うことができませんでした。ブレークポイントを張ったりプログラムを実行したりすることができませんでした。何か方法はあると思うのですが、まだ見つけられていないので、今後調べたいと思います。私が取った方法を念の為記述しておきます。Pythonでlaunchファイルを記述して、Nodeを立ち上げる際に使うlaunch_ros.actions.Nodeクラスはlaunch.actions.ExecuteProcessを基底クラスに持っていて、このクラスはコンストラクタに引数prefixを持っています。そのため、launchファイルをPythonで記述して立ち上げるNodeをgdbでデバッグする場合には、以下のように記述してやれば良さそうです。launchから起動すると、以下のようにgdbからNodeは立ち上がるものの、先ほども書いたとおりgdbのプロンプトが起動しません。--argsにしてやれば、プログラムをとりあえず実行することができます。Faultで落ちてもバックトレースを表示することはできません。launchからPython以外で記述されたlaunchファイルを立ち上げることはできませんが、6日目の@youtalkさんの記事にもあったように、EloquentではXMLでlaunchファイルを記述できるようなので、そちらも追って試してみたいと思います。upLoginユーザーは見つかりませんでした。