1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SourcetrailでROSパッケージを読む

Last updated at Posted at 2020-05-24

1.ビルド情報のデータベースを生成

以下のオプションをつけてビルドする。

roscd <ros_package_of_interest>
catkin build --this --force-cmake --start-with-this -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

すると、以下の場所にcompile_commands.jsonが生成される。

ls /path/to/catkin_ws/build/<ros_package_of_interest>/compile_commands.json

2. Sourcetrail側でデータベースを読むように設定

プロジェクト名称とプロジェクトの保存場所を設定し、Add Source Groupをクリックすると、SOURCE GROUP Typeの選択画面になるので、C/C++ from Compilation Databaseを選択してNextを押下する。

image.png

  1. Compilation Databaseとして先ほど生成したcompile_commands.jsonを設定する。
  2. Header files & Directories to Indexでソースコードのディレクトリを指定する。

あとはCreateして、読み込む。
例えば、ros-navigationパッケージを一通り追加して可視化してみる。
以下の例では、MoveBaseクラスが、抽象クラスであるBaseGlobalPlannermakePlanを呼び出しており、makePlanの具体的な処理はNavfnROSの中で実現されていることがソースコードを読まずに理解できる。すごい!!
image.png
※上の図は、BaseGlobalPlannermakePlanメソッドを選択するだけで表示される。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?