New developer tools provide insight and automation
Each release of Fedora offers new features to improve functionality for different audiences. One of those audiences is software developers, some of whose goals are being able to more effectively enhance performance and squash bugs in the software they write. Fedora 14 is expected to include some exciting innovations that allow developers to better achieve these goals.
One of the tools developers use frequently is the GNU debugger, or GDB. In the past, when a developer started up the debugger, it would load a variety of information about the program to be debugged. This information was stored in indexes which had to be calculated each time GDB was launched. These indexes contain data that help the developer locate which part of their source code is being executed in a program. They similarly come in handy for reporting bugs, since a bug reporting tool like ABRT can use the indexes to report more detailed information to the developer.
These indexes are contained in special debuginfo packages that can be downloaded by Fedora users and developers. However, Red Hat engineers working on GDB have provided enhancements to pre-generate these indexes during the package building process. Because the indexes no longer have to be calculated at startup time, the debugger can launch many times faster than in previous releases. That results in efficiency gains for software developers and better responsiveness for the other tools they use, enhancing Fedora as a software development platform.
Another innovation anticipated in Fedora 14 builds on the Python scriptability Red Hat engineers contributed to GDB. This capability allows developers to create new and richer functionality for this powerful debugger. The new GDB "heap" command, for instance, helps a developer dive down into the memory that is allocated for use by a program.
At times, bugs or unexpected flow in an application can result in overuse of memory. Depending on the extent of the bug or the number of times the application encounters it during use, the effects can be noticeable to a user. By being able to carefully examine where and what kind and size of allocations are made, a developer can effectively fix these bugs and create more efficient code. In fact, this feature is also useful for other types of audiences, like systems administrators who are trying to identify the source of memory hogging on a system. This experimental new feature is an example of how GDB scriptability can provide even more innovative capabilities in the future.
In the video below, Red Hat performance tools engineer Will Cohen discusses one use of the GDB heap tool to provide a richer experience and functionality for software developers, and improve their ability to innovate in and using open source technology.
Fedora 14 is expected to launch on Tuesday, November 2. For more information on these and other features of Fedora 14, visit the feature list on the Fedora Project wiki.