theiOSDude
theiOSDude

Reputation: 1470

xcode 4 debugging shows 'Summary Unavailable' for most objects

Whilst using Xcode 4.0 and trying to debug and see what value is held in what variable - or see what objects are in an array etc, I always seem to get "Summary Unavailable" or "Invalid Summary".

The problem seems much like the one in 3.2.6 if you built and ran a release version with the symbols stripped.

Any chance that any one knows where I am going wrong, or what the resolution is For years things worked smoothly - then Apple stepped in - again.

Thanks

Upvotes: 31

Views: 8454

Answers (7)

TPoschel
TPoschel

Reputation: 3872

I have battled this issue for quite a while and I finally figured out the issue. I have several build configurations in my application (Debug, Release, UAT). When I hit 'Run' on my main scheme then I am using the 'UAT' configuration -- not 'Debug'. I realized that I was stripping debug symbols for my 'UAT' and 'Release' configurations. I simply modified my build settings to not strip debug symbols for the 'UAT' build configuration and voila, all my symbols are available again.

Build Settings -- Strip Debug Symbols

I am using XCode 4.5.1, but have seen this issue for quite a while on various projects. I assume that most of my projects use the 'Debug' build configuration by default and therefore were working fine. Only when I started getting fancy with my schemes and build configurations did I come across this issue.

Upvotes: 0

Jeff Wolski
Jeff Wolski

Reputation: 6382

I had that problem. If you explicitly declare the ivars in your h file, they should show up in the debugger as expected.

@synthesize will create the proper ivers for you, but it does not always make them accessible in the debugger endless you use the command line po to look at them.

Upvotes: 0

Matt__C
Matt__C

Reputation: 329

This happened to me upon upgrade to xCode 4.3.1.

I found that editting the Run/Debug scheme and changing the Debugger setting in the Info tab from LLDB to GDB fixed the problem.

Upvotes: 0

Rob Bailey
Rob Bailey

Reputation: 21

Start your app up in debug

IN XCODE 4.02, go to Product/Debug/Shared Libraries

The window that appears tells you which dynamicLibs are loaded

Scroll down until you see "libXcodeDebuggerSupport.dylib Click the "Load" button, and then "Done"

After stopping on a breakpoint, the contents of a string should be printed in blue after the object's address.

Hope this helps!

Upvotes: 2

ferdil
ferdil

Reputation: 1300

You can also try changing the "Summary Format" in the GDB window. Try something like {(NSString *)[$VAR description]}:s as the Summary format - this works for NSManagedObject derived objects.

Upvotes: 5

Atte Kotiranta
Atte Kotiranta

Reputation: 121

While waiting for Apple to fix Xcode 4 you can try using "Print Description", which prints the value to console.

Upvotes: 2

Tom Harrington
Tom Harrington

Reputation: 70976

You're not going wrong, Xcode 4 is. This problem is pretty common, unfortunately. Report it at http://bugreport.apple.com/ and hope for the best.

In the meantime you can inspect variables using the console, which appears at the bottom of Xcode 4's window during debugging. If you have an object "myObj", you can inspect it in the console by typing "po myObj". It's a lot less convenient but it's better than not getting the information at all.

Upvotes: 13

Related Questions