You are currently looking at an older section of the wincent.dev website.
Please check the new version of the site at https://wincent.dev/ for updated content.

wincent atosym

atosym

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.

Usage

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

Downloads

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.dev/atosym.git

Donations

atosym is free software released under the BSD license.

Links

  • dSymbolizer is a GUI-based tool for performing address to symbol conversion on entire crash logs at once.

History

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