Skip to content

minghuascode/Nbk

Repository files navigation

README  2011-12-2


NetBeans Kernel Build Parsing Tool
===================================

This tool parses the kernel build log and feed the information 
to NetBeans IDE. In a typical use, it generates a log-gcc 
which appears to be a gcc log so NetBeans can correctly 
make use of the information to resolve symbols. 


Why NetBeans
=============

NetBeans has an exact symbol resolution engine which can give 
great easiness for developers to see where a C element is declared 
or reference. 

Many other common tools, are parsing based on "token"s. That is, 
they can not distinguish a "state" field in one struct from 
the same named "state" field in another struct. Or they are 
not accurate enough on large projects. 


Why This Tool
==============

A real world codebase, e.g. a linux kernel, contains hudge 
amount of files. In a specific build, most of those files 
are irrelevant, yet they get into the way when a developer 
searches through the code base. 

This tool selects only the relevant C and header files, 
put them under a "mirror" directory. Thus you will see 
only the relevant files. 

There is more. Since NetBeans does an exact parsing, the 
conditional part in a source file will be greyed out. 
Thus you will be able see which parts in a source file are 
relevant or irrelevant to your specific projects. 

This greatly improves productivity. 


Files
======

dot-config-min-3.1.2 dot-config-min-3.1.4: 
  Two minimal configuration files for kernel 3.1.2 and 3.1.4. 
  With this minimal configuration, you can quickly try out this tool. 

nbkparse004: 
  The version 0.04 of the tool. This version selects only 
  the C files under linux source directory. Files excluded are 
  these catetories: 
    - Any assembly files under linux source directory.
    - Any C files generated by the build process. 
    - Any assembly files generated by the build process. 
    - Any sys headers are not put into place right yet. 

note-nbkparse:
  The instructions to set up, build, parse, and load to NetBeans. 

README: 
  This file.

script-mod:
  You need to edit two linux build scripts under its source directory, 
  so that the dependency files are not to be removed by the build process. 
  We need these dependency files to help figure out which header files 
  to be included in the mirror. 


Windows Remote Use
===================

Not done yet. But easy to do. 

Linus kernel is built on a linux machine. When using a Windows 
machine as an IDE host, the mirror and generated log-gcc file 
can be transfered to the Windows machine. 

However, the script needs to be modified so that the log-gcc 
file contains only relative paths. Currently it uses only 
absolute paths. 


About

Kernel Build Mirroring for Code Analyzing in NetBeans IDE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages