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

Today in Techrights

Leftovers: OSS

  • Communities of Communities: The Next Era of Open Source Software
    We are now about 20 years into the open source software era. You might think that open source simply means publishing the source code for something useful. While this is correct by definition, the most important component of any open source project is its community and how it works together. Open source projects are not isolated islands. In fact, it’s common for them to depend on each other. As new projects are created, it is also common that members come from related projects to work on something new. Apache Arrow is an example of a new project that worked across many related projects, creating a new community that from the beginning knew it needed to build a community of communities.
  • 9 Open Source Storage Solutions: A Perfect Solution To Store Your Precious Data
    Whatever business nature you have, there must be some precious data which you want to store in a secured place. Finding a right storage solution is always critical for business, especially for small and medium, but what if you get a perfect solution at no cost. There is no doubt that business cant runs without data, but while looking for a solution, you might need to spend a fortune to cover all your storage requirements. Open source tools come as the viable solution where you won’t spend money yet get a suitable solution to store your precious data. And don’t worry we will help you to find one of the best.
  • 15 Open Source Solutions To Setup Your Ecommerce Business
    In the past few years, there is a rapid growth in the online sales. According to a survey, more than 40% people are now shifted to online stores and majorly buying products from their smartphones and tablets. With the expeditious rise in the online marketplace, more business introducing online stores. For the big fishes in the industry, the expenses of setting up an online store is like spending peanuts, but for the small or startups, it appears to be a fortune. The smart move could be open source platforms, to begin with as they are not only free also reliable and scalable. One can set up the online store not only quickly as well as, in future if you want to add some of the functionalities, which are available with only premium, can be done by paying quite a small amount.
  • An Industry First: Teradata Debuts Open Source Kylo to Quickly Build, Manage Data Pipelines
  • MUA++ (or on to thunderbird)
  • OpenSSL Re-Licensing to Apache License v. 2.0

    The OpenSSL project, home of the world’s most popular SSL/TLS and cryptographic toolkit, is changing its license to the Apache License v2.0 (ASL v2). As part of this effort, the OpenSSL team launched a new website and has been working with various corporate collaborators to facilitate the re-licensing process.

Linux Graphics

  • Ubuntu 17.04 Still Hasn't Landed X.Org Server 1.19
    While the Ubuntu 17.04 final release is expected to happen in just over two weeks and the final freeze is quickly approaching, X.Org Server 1.19 has yet to land as anticipated into the Zesty Zapus.
  • NV_fill_rectangle Coming To Gallium3D/Nouveau
    Red Hat developer Lyude Paul is working on OpenGL NV_fill_rectangle support for Gallium3D and the Nouveau driver. Lyude has published a set of six patches for adding GL_NV_fill_rectangle support to Gallium3D and wires it up in the Nouveau NVC0 driver for GM200+ hardware.
  • New Engine Reset Capability Being Worked On For Intel DRM Linux Driver
    Intel's Michael Thierry published the fifth version of these patches on Friday. While there has been GPU reset support within the Intel DRM driver in case of hangs, this new engine-reset support is superior as it can reset a particular engine rather than performing a full GPU reset.
  • Vulkan 1.0.45 Released
    Version 1.0.45 is now the latest version of the Vulkan 1.0 specification.

Development News