What IDE would be good for linux kernel driver development [closed]-Collection of common programming errors
I’ve recently been hunting around this kind of problem space myself. Ive found crash and qemu/kvm incredibly useful for the basic testing. People often tell you often not to test a kernel/modules on a system with X, although I usually have a serial console and kdump setup to catch the vmcore to find out what exactly happened (more useful than just the log messages).
My views on editors i’ve been using:
Eclipse
While java based, the ganymede version seems quite responsive even when dealing with larger C projects such as the kernel. The source manager integration seems nice. I deal with multiple (300+) trees of the kernel, so it gets a good work out.
The Indexer does lag behind a bit, but after adjusting some startup parameters, it seemed to handle indexing of a few kernels with no particular problems. The auto-build functions of the C project didn’t suit the kernel well, but its quite easy to add an external “build” for something like the kernel. The downside is that the debugger does not deal with vmcore/crashdumps, at least I couldn’t figure out how.
The debugger could however connect a remote kernel under GDB, so this may be useful for those debugging remote live systems.
Vim/Gvim
I hear people cry about VIM not being a suitable tool for editing large amounts of code, I find this simply untrue. Gvim along with cscope, NerdTree and ctags make working with large code bases quite efficient and easy to work with.
A second tab open with “crash” (http://people.redhat.com/anderson/crash_whitepaper/ ) running allowed me to inspect and copy names/elements between the editor. The Eclipse debugger didnt open vmcore files, and I couldn’t figure a way to open a terminal with any decent size to be useful with crash.
Emacs
Not my favourite editor, but I’ve learned the basics of how it works, and it ends up being very similar to vim.
Kdevelop.
KDevelop indexer wouldn’t index more than 3 code trees. Didn’t investigate why. Code completion didnt work so well with a code base this large.
None of these editors integrate “well” with kvm/crash which is an area I’d like to see improved.
Hope this helps.