Language Selection

English French German Italian Portuguese Spanish

Using Cscope and SilentBob to analyze source code

Filed under
HowTos

When you start learning the source code of an unfamiliar project, you don't have the knowledge of its structure or the meaning of specific functions, classes, and units in the project. You can use tags to browse for definitions, but it's hard to get an overall picture by just looking through every definition one by one. Cscope and SilentBob are two tools that can help you analyze unfamiliar source code. They help you find symbol definitions, determine where specific functions are used, determine which functions are called by other given functions, and search for strings and patterns throughout the code base. With them, you can save time by doing fast, targeted searches instead of grepping through source files by hand.

Using Cscope

Cscope is a popular utility, and most modern distributions include it. Although Cscope was originally intended only for use with C code, it actually works well with languages like C++ and Java. Cscope comes with an ncurses-based GUI, but it also supports a command-line interface to communicate with other application that can be used as front ends, including major editors such as Emacs and Vim.

SilentBob

SilentBob is another new tool for analyzing source code. It currently supports C/C++, Perl, and Python, but its plugin framework (which is not documented at the moment) enables users to add support for new languages and other features easily.

Full Story.

More in Tux Machines

Linux and Linux Foundation

Security Leftovers

Qt 5.10 and digiKam

  • Qt 5.10 Platform Support Changes Being Discussed
    Qt developers have begun a fresh round of discussions over the supported platforms / operating systems of Qt 5.10 that will be released in the later part of this calendar years. Among the officially supported Linux distribution changes would be moving to RHEL 7.3, openSUSE Leap 42.2, Ubuntu 17.04 (still keeping around 16.04 LTS too), moving the Windows MinGW to MinGW 6.3, and more.
  • digiKam – A Professional Photo Editing and Management Software
    digiKam is an advanced cross-platform digital photo management app inspired by photographers’ needs to view, tweak, enhance, organize, and share photographs across Linux systems. It possesses all the tools and feature set necessary to process, manage, organize, and transfer photographs, videos, and RAW files – while consistently receiving optimization upgrades to its feature set and workflow.

GNOME/Unity in Ubuntu