我正在做一些 Linux 内核开发,并且正在尝试使用 Netbeans。尽管声明支持基于 Make 的 C 项目,但我无法创建功能齐全的 Netbeans 项目。尽管编译时让 Netbeans 分析了一个使用完整调试信息编译的内核二进制文件。问题包括:
- 文件被错误地排除:一些文件在项目中被错误地显示为灰色,这意味着 Netbeans 不认为它们应该包含在项目中,而实际上它们已编译到内核中。主要问题是 Netbeans 会遗漏这些文件中存在的任何定义,例如数据结构和函数,还会遗漏宏定义。
- 找不到定义:不言自明 - 通常,Netbeans 找不到某些东西的定义。这部分是上述问题的结果。
- 找不到头文件:不言自明
我想知道是否有人在为 Linux 内核开发设置 Netbeans 方面取得了成功,如果是,他们使用了哪些设置。最终,我希望 Netbeans 能够解析 Makefile(首选)或从二进制文件中提取调试信息(不太理想,因为这会显着减慢编译速度),并自动确定哪些文件被实际编译,哪些宏实际上是定义的。然后,基于此,我希望能够找到任何数据结构、变量、函数等的定义并具有完整的自动完成功能。
让我用一些观点来作为这个问题的序言:
- 我对涉及 Vim/Emacs 的解决方案不感兴趣。我知道有些人喜欢他们,但我不是其中之一。
- 正如标题所暗示的,我也很高兴知道如何设置 Eclipse 来做我需要的事情
- 虽然我更喜欢完美的覆盖范围,但只漏掉百万分之一的定义显然没问题
SO有用的“相关问题”功能告诉我以下问题是相关的:https ://stackoverflow.com/questions/149321/what-ide-would-be-good-for-linux-kernel-driver-development 。阅读后,问题更多的是 IDE 之间的比较,而我正在寻找如何设置特定的 IDE。即便如此,用户 Wade Mealing 似乎在使用 Eclipse 进行此类开发方面具有一定的专业知识,因此我当然会感谢他(当然还有您的所有)的回答。
干杯