ProductsDesktop Server Red Hat Enterprise Linux OpenStack Platform For IBM POWER For IBM System z For SAP Business Applications Red Hat Satellite Management For Scientific ComputingExtended Update Support High Availability High Performance Network Load Balancer Resilient Storage Scalable File System Smart Management Extended Lifecycle SupportAccelerate Automate Integrate Red Hat JBoss Developer Studio Portfolio Edition Web Framework Kit Application Platform Web Server Data Grid Portal Fuse Red Hat JBoss A-MQ SOA Platform BRMS Data Services Platform JBoss Operations Network JBoss Community or JBoss enterprise
SolutionsWhy Red Hat Why open hybrid cloud? The new IT Public cloud Cloud resource library Private cloud Infrastructure-as-a-Service (IaaS) Platform-as-a-Service (PaaS) Cloud applications and workloadsSolaris to Red Hat Enterprise Linux Migration overview Migrate from your UNIX platform How to migrate to Red Hat Enterprise Linux Upgrade to the latest Red Hat Enterprise Linux release JBoss Enterprise Middleware Benefits of migrating to Red Hat Enterprise Linux Migration services Start a conversation with Red Hat
TrainingClassroom training Red Hat Online Learning Virtual training Remote classroom training On-site team training Online Learning LabsPopular and new courses Red Hat JBoss Administration curriculum Core System Administration curriculum Red Hat JBoss Middleware Development curriculum Advanced System Administration curriculum Linux Development curriculum Cloud Computing, Virtualization, and Storage curriculum
ConsultingSOA and integration Business process management Cloud and Virtualization Custom Software Development Enterprise Data and Storage Systems management Migrations
Fedora 14 Dives Deeply into Memory Debugging
October 28, 2010
by Fedora Team
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.