LoginSignup
5
6

More than 1 year has passed since last update.

VSCodeでROS 2のC++ノードをデバッグする方法

Posted at

環境

Ubuntu 22.04 with ROS2 humbleの環境を想定しています。
おそらくWindowsやMacの場合はgdbの設定などで差異があると思います。

多くの操作は参考文献[1]と共通なのでまずはそちらを参照すれば良いかと。

VSCode側の準備

ROS 拡張機能のインストール

ROSの拡張機能をインストールします。

launch.jsonの編集

参考文献[1][2]に倣ってデバッグの設定ファイルlaunch.jsonを編集します。

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ROS: Attach",
            "type": "ros",
            "request": "attach"
        }
    ]
}

めちゃくちゃ短いですが多分ROSの拡張機能がいろいろよろしくやってくれてるっぽいのでこれでも動きます。

プログラム側の準備

Debugビルドを行います。

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Debug --packages-select <your package>

--packages-select--packages-up-to でも良いです。(たまに依存パッケージも一緒にビルドしないと行けなかったりするケースもあるはず)

実行しているプログラムへのAttach

プログラムを実行後、VSCodeの左のツールバーから再生ボタンをおしたり、コマンドパレットに Debug: Start Debuggingを打ち込んだりF5を推したりしてAttachを実行します。

c++かPythonか聞かれた後にAttachするプロセスを聞かれるのでデバッグしたいファイル名 or 実行ファイル名で検索して選択します。(この時、管理者権限での実行のためにsudoのパスワードを求められます。)

Attach成功!→ BreakPoint作るなり変数をWatchするなり何なりしてしまいましょう。

参照

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6