cscope

From Wikipedia, the free encyclopedia


cscope
Latest release 15.6 / November 29, 2006
OS UNIX, Linux
Genre C and C++ programming tool
License BSD License
Website http://cscope.sourceforge.net/

cscope is a console mode or text-based graphical interface that allows software engineers or developers to search source code. It is often used on very large projects to find source code, functions, declarations, definitions and regular expressions given a text string.

The history of the tool goes back to the days of the PDP-11[1], but it is still used by developers who are accustomed to using the vi or vim editor or even developers who prefer using text-based, instead of gui-based, editors. Most of the functionality within cscope is available in modern graphical editors.

cscope is used in two phases. First a developer builds the cscope database. The developer can often use find or other unix tools to get the list of filenames that they need to index into a file called cscope.files. The developer then builds a database using the command cscope -b -q -k. Second, the developer can now search those files using the command cscope -d. Often an index needs to be re-built whenever changes are made to files.

In software development it is often very useful to be able to find the callers of a function because this is the way to understand how code works and what other parts of the program expect from a function. cscope can find the callers and callees of functions, but it is not a compiler and it does that by searching the text for keywords. This has the disadvantages that macros and duplicate symbol names can generate an unclear graph. There are other programs that can extract this information by parsing the source code [2] or looking at the generated object files [3].

cscope is often used to search content within C or C++ files, but it can be used to search for content in other languages such as Java, Python, PHP and Perl.[citation needed]

cscope is free and available under a BSD License.

The original developer of cscope is Joe Steffen.

[edit] See also

[edit] External links