Re: More symbolicate *$#*^!
Re: More symbolicate *$#*^!
- Subject: Re: More symbolicate *$#*^!
- From: Wim Lewis <email@hidden>
- Date: Wed, 17 Jun 2015 17:14:38 -0700
On Jun 17, 2015, at 1:41 PM, Doug Hill <email@hidden> wrote:
> OK, now I try to go the manual route, using atos. I put the sym file in the same directory as the executable and run:
>
> atos -o /Path/to/my/executable 0x00000001006341f8
> 0x00000001006341f8 (in Chartcube)
>
> Nothing.
>
> I try some other addresses for another thread and I get seemingly good results:
>
> atos -o Chartcube 0x000000010047cbe0
> -[SChartDateFrequency setDefaults] (in Chartcube) + 32
>
> So, it at least sort of works.
>
> Maybe atos is confused for some reason, so I’ll try lldb to lookup this address:
This is probably because apps and frameworks are randomly relocated (slid) at app launch time. You need to find the value for the atos -l or -s options (these are two ways of supplying the same information). The load address and slide of each of the images in a process are listed at the end of the crash report, along with the build-UUID of each one, so you can find the value you need to pass to atos.
(As I understand it, this is what Xcode and/or lldb are doing with the crash reports you give them as well. They also use Spotlight to find the correct dsyms file based on the build-UUID, which is what often fails for me.)
Anyway, when Xcode/lldb fails, this is how you can do it “by hand”. You can also grub around at an even lower level using dwarfdump --lookup, if you really want to.
> Looking at the address in the crash report I see:
>
> 16 Chartcube 0x0000000100634488 0x1000ec000 + 5538952
> 17 Chartcube 0x0000000100633fd8 0x1000ec000 + 5537752
>
> Those are some suspiciously huge offsets which leads me to believe the stack might be borked, but who knows.
That’s also a possibility...
_______________________________________________
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