Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the CoreData Debug argument to output to the console?

According to Apple documentation on debugging Core Data it says we should be able to pass an argument to the application which will output the SQL core data sends to SQLite.

I have gone into the arguments tab of my executable in XCode and specified the arguments:

-com.apple.CoreData.SQLDebug 1 

However, I see no SQL in the console. I then tried to use this parameter in the CoreDataBooks application provided by Apple just in case there was some other issue in MY program.

Even in Apple's example I get no SQL output in the console.

Am I doing something wrong? Is Apple's documentation wrong? Should I be looking someplace other than the console? Has anyone else had success with this argument?

UPDATE: Apple has since fixed the output bug with newer releases of XCode; however, to be clear on the final solution:

The arguments are two separate arguments and should be entered in the arguments tab as such. -com.apple.CoreData.SQLDebug is one parameter and the value 1 is the second parameter.

like image 219
radesix Avatar asked May 05 '09 01:05

radesix


Video Answer


2 Answers

XCode 4 (final) seems to be inconsistent.

Using one argument works on the device, but fails in the simulator:

-com.apple.CoreData.SQLDebug 1

Using two arguments works on the device and in the simulator:

-com.apple.CoreData.SQLDebug

1

like image 107
richardsun Avatar answered Sep 20 '22 20:09

richardsun


Are you entering those as a single argument? It should be 2 arguments: "-com.apple.CoreData.SQLDebug" and "1".

More Info: You're actually overriding a "default" here. Take a look at the Apple Docs on argument-based defaults for more information. You'll see that the name and value are 2 separate arguments.

like image 22
Jesse Rusak Avatar answered Sep 22 '22 20:09

Jesse Rusak