Right.  Historically, OS X included a lot of symbol names for un-exported 
symbols, because they made backtraces much more useful.  Over time many such 
symbols have accumulated, to the point where they actually constitute a pretty 
bit chunk of memory mapped into every process.  That's not an issue on OS X, 
but iOS is a more memory constrained device.  So as an optimization, the 
strings for the names of all the "private_extern" symbols were removed from the 
part of the shared cache that's mapped into memory, and replaced with a single 
string "redacted".  Since the actual symbol record holds a pointer to the name 
string, this shrunk the shared cache's memory footprint quite a bit.  And since 
you can't use the name of an unexported symbol, it doesn't affect how programs 
run.

The strings are all still on the system, and lldb/ instruments/ 
CoreSymbolication know how to find them, but since they aren't mapped into 
memory, they aren't available when running in process.  This log is most likely 
from the "backtrace" system call in the app, which just looks through the 
symbol name pointer, and finds "redacted".

Jim 

> On Aug 25, 2016, at 12:35 PM, Alex Zavatone <z...@mac.com> wrote:
> 
> Ahhh.  Awesome.  TY Jim.
> 
> Could you share why they would be listed as being redacted?  Private internal 
> interfaces?  Why does Xcode need to redact them in the first place?
> 
> TY.
> Learning is half the battle - Gandalf.
> 
> 
> 
> On Aug 25, 2016, at 2:28 PM, Jim Ingham wrote:
> 
>> That won't make any difference.  These are symbols from the system 
>> libraries, not from your app.
>> 
>> Jim
>> 
>>> On Aug 25, 2016, at 12:20 PM, Carl Hoefs <newsli...@autonomy.caltech.edu> 
>>> wrote:
>>> 
>>>> 
>>>> On Aug 25, 2016, at 12:15 PM, Carl Hoefs <newsli...@autonomy.caltech.edu> 
>>>> wrote:
>>>> 
>>>> 
>>>>> On Aug 25, 2016, at 12:04 PM, Jens Alfke <j...@mooseyard.com> wrote:
>>>>> 
>>>>> 
>>>>>> On Aug 25, 2016, at 11:53 AM, Carl Hoefs 
>>>>>> <newsli...@autonomy.caltech.edu> wrote:
>>>>>> 
>>>>>> I figured out that the following is Xcode's humorous way of saying "only 
>>>>>> change the UI from the main thread". Okay, got it. But what's with all 
>>>>>> the <redacted> stuff in the call traceback? It make it essentially 
>>>>>> useless.
>>>>> 
>>>>> Where did you get the backtrace from? Usually when there are no real 
>>>>> symbol names, it means the app has had debug symbols stripped out and 
>>>>> there’s no dSYM file available to provide symbol names.
>>>>> 
>>>> This occurred while running my iOS app from Xcode, connected to my iPhone. 
>>>> In Xcode I have the "All Exceptions" breakpoint disabled (otherwise it 
>>>> would break in some thread for "apparently no reason"). Xcode generates 
>>>> this backtrace in the bottom console log output area. 
>>>> 
>>>> How does one build to explicitly include debug symbolication info?
>>> 
>>> Okay, in Xcode I see the following relevant build settings:
>>> 
>>> - Strip Debug Symbols During Copy
>>> - Strip Linked Product
>>> 
>>> I'll set them both to NO.
>>> -Carl
>>> 
>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Xcode-users mailing list      (Xcode-users@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/xcode-users/jingham%40apple.com
>>> 
>>> This email sent to jing...@apple.com
>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Xcode-users mailing list      (Xcode-users@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/xcode-users/zav%40mac.com
>> 
>> This email sent to z...@mac.com
> 


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (Xcode-users@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to