On Nov 1, 2011, at 5:25 PM, Kyle Sluder wrote: > On Nov 1, 2011, at 7:38 PM, Matt Neuburg <m...@tidbits.com> wrote: > >> >> Sorry to keep harping on this, but this is a serious bug. As Ben Kennedy >> says, it isn't just NSAssert. iOS often throws a fatal exception with an >> absolutely lovely informative log message explaining the problem (e.g., your >> view controller loaded a nib but the view outlet wasn't hooked up). That log >> message is now being suppressed! The user never sees it. Surely Apple cannot >> intend that Xcode should be swallowing these informative log messages??? m. > > Here's my WAG: are you sure you didn't turn on the "All Objective-C > Exceptions" breakpoint, and are therefore breaking in objc_exception_throw > before the log message whereas you are used to waiting until the default > uncaught exception handler logs the exception message and raises a signal? > > --Kyle Sluder > (Sent from the road)
Well, when you get back from the road, try it. And here's what to try: Start with Xcode 4.2's Single View Application template and make a new iOS application with ARC. Go into the nib (ViewController.xib) and disconnect the "view" outlet from the file's owner to the view. Save. Build and run with no breakpoints on. On my machine, what happens is that we SIGABRT with the editor falling into main.c and no logging of any kind in the console. Now, *if* you set up a breakpoint on objc_exception_throw *and* you add an action to "po $eax" *and* that breakpoint is turned on *and* you are using the LLDB debugger in your scheme's debug action, and you run this project, you'll break at a reasonable spot ([self.window makeKeyAndVisible]) and you'll see in the console the delightful and helpful message, "Loaded the ViewController nib but the view outlet was not set." But that is a *lot* of ifs. A lot more ifs than we can expect of, say, a beginner. (For one thing, the templates don't use the LLDB debugger. For another, what beginner has heard of $eax?) And yet this console message is helpful particularly for beginners. Why is Xcode suppressing it? This is new behavior under Xcode 4.2; in Xcode 4.0, the message just appeared, all by itself. m. -- matt neuburg, phd = m...@tidbits.com, http://www.apeth.net/matt/ pantes anthropoi tou eidenai oregontai phusei Among the 2007 MacTech Top 25, http://tinyurl.com/2rh4pf Programming iOS 4! http://www.apeth.net/matt/default.html#iosbook RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html TidBITS, Mac news and reviews since 1990, http://www.tidbits.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com