Product SiteDocumentation Site

Red Hat Enterprise Linux 6

Developer Guide

An introduction to application development tools in Red Hat Enterprise Linux 6

Edition 0

Logo

Edited by

Don Domingo

Red Hat Engineering Content Services

Edited by

Jacquelynn East

Red Hat Engineering Content Services

Red Hat Subject Matter Experts

Dave Brolley

Profiling 
Red Hat Engineering Tools Development

William Cohen

Profiling 
Red Hat Engineering Tools Development

Roland Grunberg

Eclipse and Eclipse plug-ins 
Red Hat Engineering Tools Development

Aldy Hernandez

Compiling and Building 
Red Hat Engineering Tools Development

Karsten Hopp

Compiling 
Base Operating System Core Services - BRNO

Jakub Jelinek

Profiling 
Red Hat Engineering Tools Development

Jeff Johnston

Eclipse and Eclipse plug-ins 
Red Hat Engineering Tools Development

Benjamin Kosnik

Libraries and Runtime Support 
Red Hat Engineering Tools Development

Aleksander Kurtakov

Eclipse and Eclipse plug-ins 
Red Hat Engineering Tools Development

Chris Moller

Debugging 
Red Hat Engineering Tools Development

Phil Muldoon

Debugging 
Red Hat Engineering Tools Development

Andrew Overholt

Eclipse and Eclipse plug-ins 
Red Hat Engineering Tools Development

Charley Wang

Eclipse and Eclipse plug-ins 
Red Hat Engineering Tools Development

Development Community

Kent Sebastian

Profiling 

Legal Notice

Copyright © 2010 Red Hat, Inc. and others.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
All other trademarks are the property of their respective owners.


1801 Varsity Drive
 RaleighNC 27606-2072 USA
 Phone: +1 919 754 3700
 Phone: 888 733 4281
 Fax: +1 919 754 3701

Abstract
This document describes the different features and utilities that make Red Hat Enterprise Linux 6 an ideal enterprise platform for application development. It focuses on Eclipse as an end-to-end integrated development environment (IDE), but also includes command-line tools and other utilities outside Eclipse.

Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. Getting Help and Giving Feedback
2.1. Do You Need Help?
2.2. We Need Feedback!
1. Introduction to Eclipse
1.1. Understanding Eclipse Projects
1.2. Help In Eclipse
1.3. Development Toolkits
2. The Eclipse Integrated Development Environment (IDE)
2.1. User Interface
2.2. Useful Hints
2.2.1. The quick access menu
2.2.2. libhover Plug-in
3. Libraries and Runtime Support
3.1. Version Information
3.2. Compatibility
3.2.1. API Compatibility
3.2.2. ABI Compatibility
3.2.3. Policy
3.2.4. Static Linking
3.3. Library and Runtime Details
3.3.1. The GNU C Library
3.3.2. The GNU C++ Standard Library
3.3.3. Boost
3.3.4. Qt
3.3.5. KDE Development Framework
3.3.6. Python
3.3.7. Java
3.3.8. Ruby
3.3.9. Perl
4. Compiling and Building
4.1. GNU Compiler Collection (GCC)
4.1.1. GCC Status and Features
4.1.2. Language Compatibility
4.1.3. Object Compatibility and Interoperability
4.1.4. Backwards Compatibility Packages
4.1.5. Previewing RHEL6 compiler features on RHEL5
4.1.6. Running GCC
4.1.7. GCC Documentation
4.2. Distributed Compiling
4.3. Autotools
4.3.1. Autotools Plug-in for Eclipse
4.3.2. Configuration Script
4.3.3. Autotools Documentation
4.4. Eclipse Built-in Specfile Editor
5. Debugging
5.1. Installing Debuginfo Packages
5.2. GDB
5.2.1. Simple GDB
5.2.2. Running GDB
5.2.3. Conditional Breakpoints
5.2.4. Forked Execution
5.2.5. Threads
5.2.6. GDB Variations and Environments
5.2.7. GDB Documentation
5.3. Variable Tracking at Assignments
5.4. Python Pretty-Printers
6. Profiling
6.1. Profiling In Eclipse
6.2. Valgrind
6.2.1. Valgrind Tools
6.2.2. Using Valgrind
6.2.3. Valgrind Plug-in for Eclipse
6.2.4. Valgrind Documentation
6.3. OProfile
6.3.1. OProfile Tools
6.3.2. Using OProfile
6.3.3. OProfile Plug-in For Eclipse
6.3.4. OProfile Documentation
6.4. SystemTap
6.4.1. SystemTap Compile Server
6.4.2. SystemTap Support for Unprivileged Users
6.4.3. SSL and Certificate Management
6.4.4. SystemTap Documentation
6.5. Eclipse-Callgraph
6.5.1. Launching a Profile With Eclipse-Callgraph
6.5.2. The Callgraph View
6.6. Performance Counters for Linux (PCL) Tools and perf
6.6.1. Perf Tool Commands
6.6.2. Using Perf
6.7. ftrace
6.7.1. Using ftrace
6.7.2. ftrace Documentation
A. Revision History
Index