• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Symbolizing Crash Dump with atos. How does it get the .dSYM?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Symbolizing Crash Dump with atos. How does it get the .dSYM?


  • Subject: Re: Symbolizing Crash Dump with atos. How does it get the .dSYM?
  • From: Rick Altherr <email@hidden>
  • Date: Mon, 25 Feb 2008 12:19:25 -0800


On Feb 25, 2008, at 11:52 AM, Jerry Krinock wrote:

I've read this article:

http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html

In there, after explaining how a dSYM file wonderfully preserves the symbol-to-address map, it gives a little example of how to symbolize an address from a crash dump. It says:

  Open a Terminal window, and set the current directory to the
     TempConverter D/build.Release folder.  Then, issue the command:

atos -o Debug/TempConverter.app/Contents/MacOS/TempConverter 0x00002b84
-[ConverterApplicationDelegate setCentigradeTemperature:] (in TempConverter)
(ConverterApplicationDelegate.m:42)


The last line shows the desired result. But that command does not make any sense to me. I can't identify the "build.Release" folder which I am supposed to set the current directory to. I looked in my "intermediate build" folder, /MyProject/build/MyApp.build/Release/ MyApp.build, but this folder does not have any executables in it. My products go into a "separate" Builds directory, but of course "Builds/Release" folder does not a subfolder named "Debug". I am lost.

The synopsis in man atos is:

atos [ -p pid | partial-executable-name ] [ -o executable ] [ -f file ] [ -arch architecture ] [ -s slide ] [ -printHeader ] [ address ... ]

So apparently the nonexistent "Debug/TempConverter.app/Contents/ MacOS/TempConverter" is supposed to be the "executable". Out of desperation, I tried -o Path/To/My/Stripped/Executable. Result: atos worked, but of course didn't yield any symbols.

The underlying framework that atos uses doesn't support loading symbol names from dSYM files in Leopard. GDB does, however.




I thought that the purpose of a dSYM file is to enable atos to map addresses in a stripped executable to symbols. But how can atos know about the dSYM if there is no argument to specify it (and no example that makes any sense)?

It looks in the same folder as the executable. If the executable is in a bundle (framework, app, etc), it also looks in the directory that the bundle is in.




I'll be happy to report a bug on this article if someone can tell me what's missing.

Thanks,

Jerry Krinock

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@apple.com


This email sent to email@hidden

-- Rick Altherr Architecture and Performance Group email@hidden


Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Symbolizing Crash Dump with atos. How does it get the .dSYM?
      • From: Jerry Krinock <email@hidden>
References: 
 >Symbolizing Crash Dump with atos. How does it get the .dSYM? (From: Jerry Krinock <email@hidden>)

  • Prev by Date: Xcode Plugin API
  • Next by Date: Re: Xcode Plugin API
  • Previous by thread: Symbolizing Crash Dump with atos. How does it get the .dSYM?
  • Next by thread: Re: Symbolizing Crash Dump with atos. How does it get the .dSYM?
  • Index(es):
    • Date
    • Thread