/var/log/study

つまり雑記

ClionでLinuxカーネルのソースコード定義ジャンプを効かせる方法

概要

  • 準備
    • Clionが稼働するLinux環境
      • devcontainerやSSHはNG (Clionがリモート接続にならないようにする)
    • Linuxソースコード
    • Linuxをビルドするためのツール一式
      • 手順で生成する compile_commands.json 内に記載されたコマンドをClionが実行できるようにする
  • 手順
    1. compile_commands.json を用意する
    2. make allyesconfig && make -j $(nproc) && make compile_commands.json
    3. Clion を一度開いて、以下の設定を入れておく
    4. Help > Change Memory Settings で適当にHeapのサイズを上げる
    5. Help > Edit Custom Properties で以下の2つの値を大きくする
      • idea.max.intellisense.filesize
      • idea.max.content.load.filesize
    6. Clionで compile_commands.json を開いて、linuxディレクトリをCompilation database projectとして認識させる
    7. Build タブで linux: finixshed, Compilation database project successfully imported というメッセージが出ることを確認する
    8. (多分) しばらくすると、Clionがコードをキャッシュし始めて、定義ジャンプできるようになる
    9. コードのキャッシュが始まらないと、定義ジャンプできるようにはならない
    10. 最初は定義ジャンプ出来なかったが、いくつかのコードで定義ジャンプを試していたらコードのキャッシュが始まって、完了したら定義ジャンプできるようになった

メモ