【问题标题】:How can I log the current line via NSLog in Cocoa / Objective C?如何在 Cocoa/Objective C 中通过 NSLog 记录当前行?
【发布时间】:2011-12-17 18:55:44
【问题描述】:

是否可以在 Cocoa / Objective C 中使用 NSLog 记录当前行号?

这是我认为我应该做的:

NSLog(@"current line: %@ and value: %@",__LINE__,abc);

我收到了Thread 1: Program Received Signal: "EXC_BAD_ACCESS"

【问题讨论】:

  • 为什么要打印源代码行号? EXC_BAD_ACCESS 因为__LINE__ 不是对象引用。
  • 为什么要在需要把这段代码放到THIS line的时候知道行号?!这对我来说毫无意义,抱歉。
  • 我更新了问题,因此它实际上会在特定行显示一个变量。我只是想在询问时使问题尽可能简单(所以我首先删除了and value: 部分。如果您想在运行时跟踪变量,您可以随时将这一行复制并粘贴到程序的几个位置,而无需必须手动更改每个行号,然后您可以在Console.app 中查看输出。可能有更好的方法来做到这一点,但对我来说效果很好。

标签: objective-c cocoa


【解决方案1】:

__LINE__ 宏提供了一个整数,因此您需要更改格式字符串。您需要 %d 而不是 %@

NSLog(@"current line: %d",__LINE__);

【讨论】:

    猜你喜欢
    • 2011-07-17
    • 2010-11-08
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多