【问题标题】:How do I get the CoreData Debug argument to output to the console?如何让 CoreData Debug 参数输出到控制台?
【发布时间】:2010-10-23 19:13:48
【问题描述】:

根据Apple documentation on debugging Core Data,它说我们应该能够将参数传递给应用程序,该应用程序将输出发送到 SQLite 的 SQL 核心数据。

我已进入 XCode 中可执行文件的参数选项卡并指定了参数:

-com.apple.CoreData.SQLDebug 1

但是,我在控制台中看不到 SQL。然后,我尝试在 Apple 提供的 CoreDataBooks 应用程序中使用此参数,以防我的程序中出现其他问题。

即使在 Apple 的示例中,控制台中也没有 SQL 输出。

我做错了吗?苹果的文档有错吗?我应该寻找控制台以外的其他地方吗?其他人在这个论点上取得了成功吗?

更新: Apple 已经修复了更新版本的 XCode 的输出错误;但是,要明确最终解决方案:

参数是两个独立的参数,因此应在参数选项卡中输入。 -com.apple.CoreData.SQLDebug 为第一个参数,值为 1 为第二个参数。

【问题讨论】:

  • 我想你会在以下链接中找到答案:useyourloaf.com/blog/2010/3/11/… Cheers :)
  • 设备和模拟器都支持SQLDebug。我鼓励您更改正确答案。
  • 为了清楚起见,您很乐意花时间写一个语法错误和势利的回复,但您不会为了社区的利益而更新答案。您可能会因编写软件而获得报酬,但我不会称您为专业人士。
  • 您认为错误答案更适合历史背景吗?为什么不改变答案?如果您有合理的目的,我尊重您不正确回答的决定,但出于恶意这样做对社区有害。
  • 它仍然相关。在搜索 CoreData 调试参数时,这是最热门的。因此,正确的答案很重要。

标签: iphone cocoa debugging sqlite core-data


【解决方案1】:

XCode 4 (final) 似乎不一致。

使用一个参数在设备上有效,但在模拟器中失败:

-com.apple.CoreData.SQLDebug 1

在设备和模拟器中使用两个参数:

-com.apple.CoreData.SQLDebug

1

【讨论】:

  • 从 XCode 4.x 开始,使用单个参数(例如 -com.apple.CoreData.SQLDebug 1)在模拟器中工作。如果您使用两个单独的参数,仍然会出现相同的结果。
  • 这在 Xcode 6 中用作模拟器的单个参数。
【解决方案2】:

您是否将这些作为单个参数输入?它应该是 2 个参数:“-com.apple.CoreData.SQLDebug”和“1”。

更多信息: 您实际上在这里覆盖了“默认值”。查看Apple Docs on argument-based defaults 了解更多信息。您会看到名称和值是 2 个单独的参数。

【讨论】:

  • 杰西,即使我提出这两个单独的参数,我仍然在控制台中没有额外的输出。
【解决方案3】:

我也用头撞了一会儿。原来 iPhone 上还不支持使用 Core Data 的 SQLDebug。它由 Apple 错误 ID 6868205 跟踪。

【讨论】:

  • 设备和模拟器都支持SQLDebug。我鼓励您更改正确答案。
猜你喜欢
  • 2011-12-09
  • 1970-01-01
  • 2020-12-24
  • 2022-08-09
  • 1970-01-01
  • 1970-01-01
  • 2021-06-05
  • 1970-01-01
相关资源
最近更新 更多