XCode4和核心数据:如何启用SQL调试

oal*_*ers 101 sql core-data ios xcode4

我正在开发一个通用的iOS应用程序,我想在调试时看到日志中的原始SQL.这篇博客文章中有一些关于如何为iOS Core Data开发启用原始SQL日志记录的信息.给出的示例适用于XCode 3,我不清楚如何在XCode 4中启用它.

我尝试了"产品" - >"编辑方案",并将" -com.apple.CoreData.SQLDebug 1 " 添加到"启动时传递的参数",但我仍然没有在日志中看到任何输出.不确定我是在寻找错误的地方还是仅仅错误地传递了参数.

Nic*_*s S 148

你应该看看你得到NSLOGS的地方

你应该转到产品 - >编辑方案 - >然后从左侧面板选择Run YOURAPP.app并转到主面板的Arguments选项卡.

在那里你可以添加一个在启动时传递的参数.

你应该添加 -com.apple.CoreData.SQLDebug 1

按确定即可完成设置.

这里的关键是编辑您将用于测试的方案.

  • 谢谢你.事实证明,就模拟器而言,我的论据格式是错误的,正如我在其中一个答案中看到的那样http://stackoverflow.com/questions/822906/how-do-i-get-the-coredata- debug-argument-to-output-to-console我需要传递** - com.apple.CoreData.SQLDebug**的参数和**1**的第二个参数,以便查看SQL输出. (8认同)
  • 关于如何打印传递给数据库的参数的任何想法?这种方法可以很好地查看查询是如何构造的,但它只打印sql语句,比如`UPDATE ZTABLE SET ZCOLUMN =?WHERE ZID =?`并且真正看到发送的数据并不是很有用 (2认同)

Ove*_*sty 20

XCode 4

它在我管理我的NSZombieEnabled的同一个地方

产品 - >编辑方案 - >运行YouApp.app Debug

在"启动时传递的参数"下,准确粘贴:

-com.apple.CoreData.SQLDebug 1

警告 - 这个东西非常冗长,如果你有Core Data问题,这可能值得一看,但它可能比你需要的更多信息有关错误的东西.


小智 5

我遇到了这个问题,然后意识到这是一个愚蠢的遗漏,我认为这对你们中的某些人来说是个错误.当我进入论证时Xcode (4.3.1),我遗漏了领先的连字符.如果我在命令行输入它,我不会这样做,但在GUI中我省略了它.我没有发现输入2个单独的args或者一个(如某些帖子所建议的).所以使用:

-com.apple.CoreData.SQLDebug 1

而不是简单地:

com.apple.CoreData.SQLDebug 1

这在模拟器和真实设备中对我有用