Xcode, no debugging symbols for a specific subclass

I am using Xcode 3.2.3 and iPhone SDK

So, I'm trying to debug a subclass of UIView, I hit a breakpoint in an overridden method, and I don't see any characters either in the GUI or in gdb, but just in global tables and case.

Here is what I see:

(gdb) po self No symbol "self" in current context. 

However, when I set a breakpoint in a subclass of UIViewController, all the characters are:

 (gdb) po self <MyViewController: 0x5c18ae0> Current language: auto; currently objective-c 

Some things I tried:

  • clear all / rebuild
  • restart xcode
  • change between debug and release
  • configure these options in the Project settings:
    • GCC_DEBUGGING_SYMBOLS = All
    • Symbols DEBUG_INFORMATION_FORMAT = DWARF, DWARF w / dSYM File
    • BUILD_VARIANTS = normal, debug
  • threatening Xcode while swearing and typing rm -rf /Developer at the bash command line

Please help, my fingers bleed from debugging using NSLog

+7
debugging iphone xcode gdb debug-symbols
source share
6 answers

I often experience this error. My workaround is by typing the bt command on the gdb console, then it will automatically sort itself and begin to recognize characters in the current context.

+4
source share

So the transition from Debug to Release did the trick, and I have all my debugging symbols.

I think this is just a bug in the 4.0 SDK.

+3
source share

Hmmm, tried to reproduce this in 3.2.3 and SDK4 Final without success - you can debug the UIView subclass as expected. Is this happening using one of the beta releases?

0
source share

It happened to me in a non-beta release. I just noticed that this only happens when the method defined by the class is called, i.e. (+) Not (-)

I would not mind not having a "self" pointer, but it also seems to destroy all local variable mappings in the debugger, and this is simply wrong.

0
source share

The MTS method worked for me. Moving from debugging to release fixes this problem. How strange. I can refute the developed theory of software, because I experience an error inside the instance method.

0
source share

in the style of gdb bt .

If you see self = <the value is temporarily unavailable, due to optimization> anywhere, since xcode is configured for optimization.

Go to build settings and enter Optimization .

If the optimization level for debug or release is set to Fast , this causes a problem.

The release should be the fastest so that your code works well when created for distribution. It is better to change the assembly configuration in the circuit.

opt + click the "Run" button. On the left side, click Run, then Info and select debug .

0
source share

All Articles