77088

XCode can't find symbols for a specific iOS library/framework project

I'm having a problem with breakpoints in the source code of a specific library / framework (new to Xcode - i'm not sure what the correct term is) in a fairly large iOS project. I have all the code for this library. Breakpoints are working fine everywhere else, but in this one specific library, all breakpoints are ignored.

I can put a breakpoint in a function called from within one of those source files, and it will trigger, but then the callstack shows "__lldb_unnamed_function" for the location in the file i'm interested in, as if the symbols have been stripped.

I have the following settings for the library in question

Generate Debug Symbols = YES Strip Debug Symbols During Copy = NO Strip Linked Product = NO Dead Code Stripping = NO

I have been using a lot of #ifdefs to test alternate implementations of a few functions so i thought some stuff might be getting marked as dead code by accident (hence that last setting). I already tried clean/rebuild. I tried completely removing the app from the target iPhone. I tried deleting intermediate file folder under

/Library/Developer/Xcode/DerivedData

The code is definitely executing because all my NSLog calls show up properly.

I don't have much experience with Xcode so i'm hoping i'm just missing something simple

Thanks

Answer1:

Some part of your build process must be stripping this binary. If you were generating an unstripped binary with no debug information, then you would see full symbol names in backtraces and the like, you just wouldn't have debug information for them.

The only good way to figure out who is doing this is to look at the full build log in Xcode, and expand each of the stages and grub through all the build stages to figure out who is doing this. You expand the stages by hovering over each build line on the RHS and you'll get a disclosure dingus that looks like a bunch of lines on a page; click that to see the real commands.

Another way to finesse this may be to build the dSYM for this framework (by setting the Debug Format to "DWARF + dSYM".) That should get made before anything gets stripped, so unless whoever is stripping this is being awfully clever this should preserve the debug information.

Recommend

  • Was there a way to create an object without a prototype prior to ES5?
  • How to break a string over multiple lines and preserve spaces in YAML?
  • What happens when I strip one version of a mercurial repository and try to synchronize with another
  • Debugging DLL Project in Visual Studio 2008 Using Attach to Process
  • VBA for replacing format but preserving cell value: partially solved
  • Python 'ascii' codec can't encode character with request.get
  • Does Xcode 6 Simulator use x86_64?
  • codeblocks debugging
  • Mach-O Linker Error When Adding Unit Tests - XCode
  • Symfony YAML format conversion
  • Encryption code in Java
  • static library has big size
  • Question mark icons showing up for quotation marks when there's a UTF-8 character encoding
  • Creating a custom InputScope for Windows Phone 7
  • Loading an embedded image in AS3
  • Use Batch file to add headers to CSV
  • Does Apple Clang lack CRC32 for ARMv8/Aarch64 under Xcdoe 10?
  • Greek letters in a GUI - PYTHON
  • Form Post with enctype = “multipart/form-data” causing parameters to not get passed
  • Handling right-to-left/left-to-right override characters in user input
  • Objective-C : getting error on console while trying to display app on ipad device?
  • Sympy: working with equalities manually
  • include dlls in visual studio c++ 2008
  • Cross platform UI spacing/padding
  • Xaml, wpf image position and crop issue
  • Add reference to ASP.NET 5 Class Library from Framework 4.5 Class Library Project
  • Most efficient way to move table rows from one table to another
  • Magento get URL before current
  • std::remove_copy_if_ valgrind bytes in block are possibly lost in loss record
  • How to get Eclipse Oxygen to run on Java 9
  • Functions in global context
  • MailKit: The IMAP server replied to the 'EXAMINE' command with a 'BAD' response
  • Database structure design with variable amounts of fields
  • Highlight one bar in a series in highcharts?
  • MongoDB in PHP using aggregate to group by _id is null not working
  • Acquiring multiple attributes from .xml file in c#
  • How to CLICK on IE download dialog box i.e.(Open, Save, Save As…)
  • Getting Messege Twice Using IMvxMessenger
  • How can I remove ASP.NET Designer.cs files?
  • java string with new operator and a literal