Jump To:
Technical Q&As: Tools
The compiler and debugger technologies of Mac OS X are essential for building software projects. Apple supports a number of open-source technologies, such as GCC and GDB, which can be used from Xcode or from the command line.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Date
Debugging Process Startup (HTML)
QA1573: Describes techniques for debugging a process's startup code.
2007-12-21
Debugging a WebKit Plug-in in Xcode (HTML)
QA1500: Directions for debugging a WebKit plug-in in Xcode.
2007-06-05
Using GCOV from Xcode (HTML)
QA1514: Illustrates configuring your Xcode project to work with the GCOV code coverage tool.
2007-02-23
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.
2006-10-24
Building Objective-C static libraries with categories (HTML)
QA1490: Describes how to properly build Objective-C static libraries that contain categories on existing classes.
2006-10-03
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?
2006-06-30
Deprecated CALL_ON_[UN]LOAD pragmas (HTML)
QA1429: Replace deprecated CALL_ON_[UN]LOAD pragmas with constructor [destructor] function attributes.
2006-01-10
What are the predefined macros for GCC? (HTML)
QA1424: Shows how to display a list of GCC predefined macros.
2005-07-06
Symbol to Library in GDB (HTML)
QA1388: Shows how to find the library containing a symbol in GDB.
2004-11-15
Detecting the Debugger (HTML)
QA1361: Shows how to determine whether you're being run under the debugger.
2004-10-27
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.
2004-10-08
Generating an NMI Without a Programmer's Switch (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
2004-04-26
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.
2003-09-09
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.
2003-06-02
'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.
2003-04-01
Disabling a Processor on a Multiprocessor System (HTML) (日本語 HTML)
QA1141: Describes how to disable a processor on a multiprocessor system for testing purposes.
2002-05-22
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.
2002-02-07
Library naming conventions for proper building and linking with the Mac OS X Developer Tools (HTML)
QA1101: Describes the library naming conventions required by the Mac OS X Developer Tools to properly link against your libraries.
2001-12-20
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
2001-10-25
Using Pascal strings in Project Builder (HTML)
QA1053: Shows how to force gcc (compiler used by Project Builder) to understand Pascal strings.
2001-06-28
Stub Library FAQ (HTML)
PLAT28: Explains stub libraries and their use, and differences between shared libraries and stub libraries.
1997-03-14
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.
1996-02-09