Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 5 debugger doesn't print objects

i'm having problem debugging from the console with lldb debugger after upgrading to xcode 5. i used to type po object and it used to work fine, however now i get the error

error: instance method 'performBlock:afterDelay:' has incompatible result types in different translation units ('id' vs. 'void')
note: instance method 'performBlock:afterDelay:' also declared here

here is a screenshot of the stack, the code where the debugger stopped at, the values in the visual debugger and the debugger console. what might be the problem, is it a bug in xcode 5 or is there something i can do to rectify this?

like image 837
akaralar Avatar asked Sep 25 '13 13:09

akaralar


1 Answers

I found a way to fix this issue. The problem was that my personal internal framework was declaring a method in a category on NSObject called:

- (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;

But a third party framework (here BlocksKit) was declaring the same kind of method:

- (id)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;

Those two seemed to interfere in LLDB's runtime and were producing this strange message. To fix it, I just changed one of the method name. Please let me know if this work for you.

like image 158
MonsieurDart Avatar answered Oct 11 '22 16:10

MonsieurDart