私は Linux カーネルの開発を行っており、Netbeans を使用しようとしています。Make ベースの C プロジェクトのサポートが宣言されているにもかかわらず、完全に機能する Netbeans プロジェクトを作成することはできません。これは、完全なデバッグ情報を使用してコンパイルされたカーネル バイナリを Netbeans が分析するようにコンパイルしているにもかかわらずです。問題は次のとおりです。
- ファイルが間違って除外されている: 一部のファイルがプロジェクトで誤ってグレー表示されています。これは、実際にはカーネルにコンパイルされているにもかかわらず、Netbeans がプロジェクトに含める必要があると認識していないことを意味します。主な問題は、Netbeans がこれらのファイルに存在する定義 (データ構造や関数など) を見逃すだけでなく、マクロ定義も見逃すことです。
- 定義が見つかりません: かなり自明です - 多くの場合、Netbeans は何かの定義を見つけることができません。これは、部分的に上記の問題の結果です。
- ヘッダーファイルが見つかりません:自明です
Linux カーネル開発用の Netbeans のセットアップに成功した人がいるかどうか、もしそうなら、どのような設定を使用したかを知りたいです。最終的には、Netbeans が Makefile を解析する (推奨) か、バイナリからデバッグ情報を抽出する (コンパイルが大幅に遅くなる可能性があるためあまり望ましくない) ことができ、どのファイルが実際にコンパイルされ、どのファイルがマクロは実際に定義されています。次に、これに基づいて、データ構造、変数、関数などの定義を見つけて、完全なオートコンプリートを実現したいと考えています。
この質問の前に、いくつかの点を述べさせてください。
- Vim/Emacs を含むソリューションには興味がありません。彼らが好きな人がいることは知っていますが、私はその一人ではありません。
- タイトルが示すように、必要なことを実行するために Eclipse をセットアップする方法も教えていただければ幸いです。
- 私は完璧なカバレッジを望んでいますが、100 万分の 1 の定義しか見逃していないものは明らかに問題ありません
SO の便利な「関連する質問」機能により、次の質問が関連していることがわかります: https://stackoverflow.com/questions/149321/what-ide-would-be-good-for-linux-kernel-driver-development。それを読むと、問題はIDE間の比較ですが、特定のIDEをセットアップする方法を探しています。それでも、ユーザーの Wade Mealing は、この種の開発で Eclipse を使用することについてある程度の専門知識を持っているようです。そのため、彼の (そしてもちろんあなたのすべての) 回答に感謝します。
乾杯