atosym is a command-line tool that I hacked together to serve as a replacement for atos(1) until Apple makes a version that is compatible with the dSYM debug information format (this was expected in Leopard but it appears to not be the case). Basically it calls on GDB, the only tool currently capable of parsing dSYM files, to do the work behind the scenes.
atosym -d dSYM-file [-arch i386|ppc] [-o offset] [address ...]
The only compulsory argument is a dSYM-file passed in via the -d switch.
You may optionally specify an architecture with the -arch switch (i386 or ppc; defaults to i386).
If you specify an offset with the -o switch then it will be automatically added to any addresses before performing conversion to symbols; this is useful when working with loadable bundles which can be located different locations in memory.
If you specify an address (or addresses) in either decimal or hexadecimal notation (preceded with "0x") then atosym will attempt the address to symbol conversion.
If you do not specify any addresses then atosym will enter interactive mode (demonstrated below).
Example: non-interactive mode
$ atosym -d dSYMfile 0x1f70 Line 10 of "source.m" starts at address 0x1f70 <main+78> and ends at 0x1f78.
Example: interactive mode
$ atosym -d dSYMfile Enter an address in hex, or quit to exit: > 0x2300 No line number information available for address 0x2300 > 0x1f77 Line 10 of "source.m" starts at address 0x1f70 <main+78> and ends at 0x1f78. > quit
Version 1.0 is available for download here (20KB, source and Universal Binary executable included).
You can also check out the latest version of the source via Git:
git clone git://git.wincent.com/atosym.git
Or view the source code using the web-based repository browser at git.wincent.com.
An older version of the source code is available in the legacy Subversion repository:
svn co svn://svn.wincent.com/atosym/trunk
atosym is free software released under the BSD license. If it is useful to you, please consider making a donation.
- dSymbolizer is a GUI-based tool for performing address to symbol conversion on entire crash logs at once.
Version 1.0.1 (not yet released)
- Use /usr/bin/gdb script with -arch flag instead of manually selecting and launching a GDB executable.
Version 1.0 (16 August 2006)
- Initial release