Skip to content

Comment on Fixing QuickLook (2023)parent

Comments

Apple provides basic symbols for some of their binaries–particularly older ones. I assume the default setting used to be to not strip those, or some kind soul picked that option and nobody revisited it. Unfortunately a lot of new code is shipped stripped by default :(

You can’t really strip objective-c symbols, can you? I think that would break method dispatch

You might be thinking of Objective-C metadata, which contains information about classes, protocols and categories. Unlike symbols, metadata can’t be stripped.

I’m specifically talking about selectors and things like class names, etc. I can see that you can strip the parts of objective-c that are just C.

You can definitely strip the symbols; the runtime metadata is stored separately.

Yes but what Objective-C people consider “no symbols” looks like symbols to C programmers.

Tell that to ___lldb_unnamed_symbol74$$TextEdit

Yes, but you can often still figure out what the name is if you pause in that method and print _cmd ($arg2), or look at the calling stack entry and see what selector string was used.

Personally I just use a disassembler that parses this metadata for me

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.