Jump To:
Leopard Reference Library
A full suite of free developer tools is available to Mac OS X developers, who can speed up their development process by using these tools to prototype, compile, debug, and optimize their software products. Xcode, Apple's integrated development environment, can be used with Cocoa, Carbon, or Java. Apple also provides a wide selection of open source tools, such as GCC.

A guided introduction for developers new to Mac OS X developer tools.   Essential information for developers using the Xcode software development tool set.  
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Bug Reporting Best Practices (HTML)
Provides information regarding the best means in which to file a bug report.
Compiling & Debugging Articles 2007-05-25
Building Objective-C static libraries with categories (HTML)
QA1490: Describes how to properly build Objective-C static libraries that contain categories on existing classes.
Compiling & Debugging Technical Q&As 2006-10-03
C++ Runtime Environment Programming Guide (HTML) (PDF)
Provides information about how to create and deploy C++ binaries.
Compiling & Debugging Guides 2006-06-28
C++ Tips and Tricks for Mac OS X (HTML)
TN2185: Tips and tricks for beginning to advanced C++ programmers on Mac OS X.
Compiling & Debugging Technical Notes 2007-05-25
Can't attach during two-machine debugging with GDB (HTML) (日本語 HTML)
Deprecated - QA1019: Describes a workaround for a problem attaching during two-machine debugging on Mac OS X 10.0.x.
Compiling & Debugging Technical Q&As 2003-06-02
Compiler Tools Release Notes (HTML)
Describes the latest changes to the Mach-O assemblers, linkers, and object file tools.
Compiling & Debugging Release Notes 2007-04-11
CrashReporter (HTML)
TN2123: Describes CrashReporter and how to debug with crash logs.
Compiling & Debugging Technical Notes 2008-04-01
CxxNewDelete (HTML) (DMG) (ZIP)
How to override the C++ 'new' and 'delete' operators.
Compiling & Debugging Sample Code 2006-10-03
Debugging a WebKit Plug-in in Xcode (HTML)
QA1500: Directions for debugging a WebKit plug-in in Xcode.
Compiling & Debugging Technical Q&As 2007-06-05
Debugging An Authorization Plug-In With Xcode (HTML)
TN2108: A tutorial on how to use Xcode to debug an authorization plug-in.
Compiling & Debugging Technical Notes 2008-09-08
Debugging Process Startup (HTML)
QA1573: Describes techniques for debugging a process's startup code.
Compiling & Debugging Technical Q&As 2007-12-21
Debugging with GDB (HTML)
Open-source document that explains how to use GDB to debug programs.
Compiling & Debugging Guides 2008-06-19
Deprecated CALL_ON_[UN]LOAD pragmas (HTML)
QA1429: Replace deprecated CALL_ON_[UN]LOAD pragmas with constructor [destructor] function attributes.
Compiling & Debugging Technical Q&As 2006-01-10
Detecting the Debugger (HTML)
QA1361: Shows how to determine whether you're being run under the debugger.
Compiling & Debugging Technical Q&As 2004-10-27
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Compiling & Debugging Technical Q&As 2008-09-16
Dynamic Library Programming Topics (HTML) (PDF)
Explains how to design, implement, and use dynamic libraries.
Compiling & Debugging Guides 2009-02-26
Dynamic Loader Release Notes (HTML)
Updated for Mac OS X v10.5.
Compiling & Debugging Release Notes 2009-03-04
'dynamic shared library not made a weak library in output with MACOSX_DEPLOYMENT_TARGET...' bug (HTML) (日本語 HTML)
QA1233: Why 'ld' may give a warning about the Mac OS X_DEPLOYMENT_TARGET environment variable and its failure to weak link.
Compiling & Debugging Technical Q&As 2003-04-01
GCC 3 Release Notes (HTML)
Updated for Xcode 2.3
Compiling & Debugging Release Notes 2006-05-23
GCC 4 Release Notes (HTML)
Updated for Xcode 3.0
Compiling & Debugging Release Notes 2007-10-31
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Compiling & Debugging Guides 2006-10-03
GDB for MacsBug Veterans (HTML)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Compiling & Debugging Technical Notes 2001-10-18
GDB Internals (HTML)
Open-source document that explains the GDB implementation.
Compiling & Debugging Guides 2008-06-19
GDB Quick Reference (PDF)
Printable quick reference card.
Compiling & Debugging Reference
GDB Release Notes (HTML)
Updated for Mac OS X v10.5
Compiling & Debugging Release Notes 2007-05-16
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Compiling & Debugging Technical Q&As 2008-10-13
Getting Started with GDB (HTML) (日本語 HTML)
TN2032: Explains common C, C++ and Objective-C debugging tasks using gdb, plus helpful tips and tricks.
Compiling & Debugging Technical Notes 2001-12-07
GNU C 4.0 Preprocessor User Guide (HTML)
Describes the Apple version of the GNU C 4.0 Preprocessor.
Compiling & Debugging Reference 2007-10-31
GNU C 4.2 Preprocessor Internals (HTML)
Compiling & Debugging Guides 2008-01-23
GNU C 4.2 Preprocessor User Guide (HTML)
Describes the Apple version of the GNU C 4.2 Preprocessor.
Compiling & Debugging Reference 2008-01-23
GNU C/C++/Objective-C 3.3 Compiler (HTML)
Explains how to use the GNU compilers from the command line.
Compiling & Debugging Reference
GNU C/C++/Objective-C 4.0.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.0.1 compiler.
Compiling & Debugging Reference 2007-10-31
GNU C/C++/Objective-C 4.2.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.2.1 compiler.
Compiling & Debugging Reference 2008-01-23
GNU Compiler Collection (GCC) 4.2 Internals (HTML)
Compiling & Debugging Guides 2008-01-23
GNU Compiler Collection (GCC) Internals (HTML)
Compiling & Debugging Guides 2007-12-11
The GNU Compiler Collection on Mac OS X (HTML)
Learn about the open-source tools GCC and GDB, and enhancements specific to Mac OS X.
Compiling & Debugging Articles 2004-07-12
GNU macro processor (HTML)
Documentation on the GNU macro processor.
Compiling & Debugging Reference 2007-10-31
GNU Make (HTML)
Documentation of the GNU make utility.
Compiling & Debugging Reference 2008-06-19
How do I use asserts while debugging? (HTML)
QA1431: How do I enable asserts so they log their messages and/or break when I'm debugging?
Compiling & Debugging Technical Q&As 2006-06-30
Jar Bundler User Guide (HTML) (PDF)
Conceptual information and a tutorial about deploying JAR-based applications as Mac OS X application bundles.
Compiling & Debugging Guides 2006-05-23
Kernel Core Dumps (HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
Compiling & Debugging Technical Notes 2008-11-12
Libtool (HTML)
Documentation for GNU Libtool.
Compiling & Debugging Reference 2008-06-19
LLVM-GCC Release Notes (HTML)
Lists changes to LLVM-GCC technology.
Compiling & Debugging Release Notes 2008-09-09
Mac OS X ABI Dynamic Loader Reference (HTML) (PDF)
Describes the functions used to access Mach-O files.
Compiling & Debugging Reference 2005-11-09
Mac OS X ABI Function Call Guide (HTML) (PDF)
Describes the function-calling conventions used in the architectures supported by Mac OS X.
Compiling & Debugging Guides 2009-02-04
Mac OS X Assembler Reference (HTML) (PDF)
Describes the syntax, directives, and specific options required for the Mac OS X assembler.
Compiling & Debugging Reference 2009-01-07
Mac OS X Debugging Magic (HTML)
TN2124: Collection of Mac OS X debugging hints and tips.
Compiling & Debugging Technical Notes 2007-01-10
Mach-O Programming Topics (HTML) (PDF)
Explains the use of the Mac OS X runtime architecture, including program types, loading and executing code, and using libraries and plug-ins.
Compiling & Debugging Guides 2009-02-04
MachPortDump (HTML) (DMG) (ZIP)
Dumps out the Mach port name space of a process; useful when debugging port right leaks.
Compiling & Debugging Sample Code 2005-08-10
ManagedObjectDataFormatter (HTML) (DMG) (ZIP)
A Data Formatter for Xcode 2.0 and 2.1 that displays NSManagedObject * variables.
Compiling & Debugging Sample Code 2005-06-01
Moving To GCC 4.0 (HTML) (DMG) (ZIP)
Shows how to fix code that GCC 3.3 accepts but GCC 4.0 doesn't.
Compiling & Debugging Sample Code 2005-06-01
Nested Functions in Xcode (HTML)
TN2161: This technote explains how to port code which uses nested functions in Xcode 2.2.
Compiling & Debugging Technical Notes 2006-01-10
Netwide Assembler Guide (HTML)
Describes the Netwide Assembler for Intel-based Macs.
Compiling & Debugging Reference 2008-06-19
Remote or Two-Machine Debugging Applications with GDB (HTML)
QA1279: Explains how to setup a remote or two-machine debugging configuration using gdb and ssh.
Compiling & Debugging Technical Q&As 2003-09-09
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Compiling & Debugging Technical Q&As 2001-10-25
STABS Debug Format (HTML)
Open-source document that explains the STABS format of symbolic debugging information.
Compiling & Debugging Reference 2008-06-19
Static linking of user binaries on Mac OS X (HTML) (日本語 HTML)
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Compiling & Debugging Technical Q&As 2002-02-07
Stub Library FAQ (HTML)
PLAT28: Explains stub libraries and their use, and differences between shared libraries and stub libraries.
Compiling & Debugging Technical Q&As 1997-03-14
Symbol to Library in GDB (HTML)
QA1388: Shows how to find the library containing a symbol in GDB.
Compiling & Debugging Technical Q&As 2004-11-15
Symbol Variants Release Notes (HTML)
Describes symbol variants, a way of providing multiple versions of symbols for backwards compatibility.
Compiling & Debugging Release Notes 2007-10-16
User's Guide to gperf 3.0.1 (HTML)
Compiling & Debugging Guides 2007-12-03
Using GCOV from Xcode (HTML)
QA1514: Illustrates configuring your Xcode project to work with the GCOV code coverage tool.
Compiling & Debugging Technical Q&As 2007-02-23
Using Pascal strings in Project Builder (HTML)
QA1053: Shows how to force gcc (compiler used by Project Builder) to understand Pascal strings.
Compiling & Debugging Technical Q&As 2001-06-28
Using qd and QDGlobals (HTML) (日本語 HTML)
Deprecated - QD40: Why a sample program compiled with SC may give the link error: undefined entry qd. Provides a solution.
Compiling & Debugging Technical Q&As 1996-02-09
Using static versions of existing dynamic libraries (HTML)
QA1393: Illustrates how to select a static version of a library when a dynamic version of the library exists.
Compiling & Debugging Technical Q&As 2006-10-24
Using the latest Mac OS X headers in my CFM project with CodeWarrior (HTML)
QA1379: Describes how to use the latest Mac OS X headers in CodeWarrior by modifying the CFM project access paths.
Compiling & Debugging Technical Q&As 2004-10-08
What are the predefined macros for GCC? (HTML)
QA1424: Shows how to display a list of GCC predefined macros.
Compiling & Debugging Technical Q&As 2005-07-06
Xcode Build Setting Reference (HTML) (PDF)
Describes the build settings used in the Xcode build system to compile source code and produce binary files.
Compiling & Debugging Reference 2009-03-04
Dynamic Loader Release Notes (HTML)
Updated for Mac OS X v10.5.
Darwin Release Notes 2009-03-04
GNU C 4.0 Preprocessor User Guide (HTML)
Describes the Apple version of the GNU C 4.0 Preprocessor.
Darwin Reference 2007-10-31
GNU C 4.2 Preprocessor User Guide (HTML)
Describes the Apple version of the GNU C 4.2 Preprocessor.
Darwin Reference 2008-01-23
GNU C/C++/Objective-C 3.3 Compiler (HTML)
Explains how to use the GNU compilers from the command line.
Darwin Reference
GNU C/C++/Objective-C 4.0.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.0.1 compiler.
Darwin Reference 2007-10-31
GNU C/C++/Objective-C 4.2.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.2.1 compiler.
Darwin Reference 2008-01-23
HeaderDoc User Guide (HTML) (PDF)
Explains how to extract API reference documentation from commented header files.
Darwin Guides 2008-04-08
Kernel Core Dumps (HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
Darwin Technical Notes 2008-11-12
Mac OS X ABI Mach-O File Format Reference (HTML) (PDF)
Describes the data structures that make up the Mach-O file format.
Darwin Reference 2009-02-04
Mac OS X Man Pages (HTML)
HTML versions of the Mac OS X, Mac OS X Server, Xcode Tools, and CHUD man pages.
Darwin Reference 2008-04-29
Netwide Assembler Guide (HTML)
Describes the Netwide Assembler for Intel-based Macs.
Darwin Reference 2008-06-19
Packaging UNIX Software (HTML)
Explains how to post UNIX and other command-line tools to Apple's Macintosh Product Guide.
Darwin Guides 2001-04-20
PIDFromBSDProcessName (HTML) (DMG) (ZIP)
Provides a simple API to do process PID lookup based on BSD process name.
Darwin Sample Code 2003-02-13
Porting UNIX/Linux Applications to Mac OS X (HTML) (PDF)
Conceptual information and tips about porting UNIX and Linux applications to Mac OS X.
Darwin Guides 2008-04-08
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Darwin Technical Q&As 2001-10-25
SimplePing (HTML) (DMG) (ZIP)
Sample provides simple API to programatically ping a remote host without admin privileges
Darwin Sample Code 2003-10-27
Static linking of user binaries on Mac OS X (HTML) (日本語 HTML)
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Darwin Technical Q&As 2002-02-07
Symbol Variants Release Notes (HTML)
Describes symbol variants, a way of providing multiple versions of symbols for backwards compatibility.
Darwin Release Notes 2007-10-16
Apple JavaScript Coding Guidelines (HTML) (PDF)
Provides an overview of the JavaScript language, its object-oriented features, and coding best practices.
Dashcode Guides 2008-11-19
Dashboard Programming Topics (HTML) (PDF)
Explains Dashboard and WebKit technologies used in widgets.
Dashcode Guides 2009-02-04
Dashboard Reference (HTML) (PDF)
Describes the API for implementing Dashboard widgets.
Dashcode Reference 2009-02-04
Dashcode 2.0 Release Notes (HTML)
Explains key features, known issues, and workarounds for Dashcode 2.0.
Dashcode Release Notes 2008-09-09
Dashcode User Guide (HTML) (PDF)
Explains how to use Dashcode to create Dashboard widgets.
Dashcode Guides 2009-03-04
Leopard Technology Series for Developers: Introducing Dashcode (HTML)
Learn how Dashcode makes widget development easier than ever.
Dashcode Articles 2007-01-09
Reminders (HTML) (DMG) (ZIP)
Dashboard widget with a plug-in that displays upcoming iCal events, to do items, and calendars.
Dashcode Sample Code 2008-07-25
WebKit DOM Programming Topics (HTML) (PDF)
Describes how to use JavaScript in web content and WebKit-based applications.
Dashcode Guides 2008-10-15
Apple JavaScript Coding Guidelines (HTML) (PDF)
Provides an overview of the JavaScript language, its object-oriented features, and coding best practices.
Files & Software Installation Guides 2008-11-19
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Files & Software Installation Guides 2005-11-09
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Files & Software Installation Guides 2008-11-19
Correcting a PackageMaker version.plist and BundleVersions.plist problem (HTML) (日本語 HTML)
QA1281: Describes how to correct a PackageMaker version.plist and BundleVersions.plist problem.
Files & Software Installation Technical Q&As 2003-08-25
Creating install packages from the command line (HTML)
QA1284: Describes how to create install packages from the command line.
Files & Software Installation Technical Q&As 2007-01-22
Distribution Definition Reference (HTML) (PDF)
Describes the schema of distribution definition files.
Files & Software Installation Reference 2009-01-06