如何访问objective-c中的当前行号?

时间:2012-06-15 14:45:36

标签: objective-c

  

可能重复:
  How to print out the method name and line number and conditionally disable NSLog?
  Using macro in Objective-C to log function name and line number

问题

什么预处理程序指令或函数调用将帮助我识别当前正在调用的方法,或者文件中正在执行的行号?

背景

我正在尝试编写一个快速宏来搜索无限循环,我想要一些可以不经修改地进行复制粘贴的东西,并且NSLog当前文件名和行号,或当前类和方法名称 - 实际上是任何东西将允许我识别哪个循环是无限的。

2 个答案:

答案 0 :(得分:3)

这里有一些有用的代码:

#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

答案 1 :(得分:0)

你可能最好坚持使用Xcode的内置静态分析。运行它将确定任何未使用的变量,死存储和最可能的无限循环。我认为这可能比编写自己的自定义实现做得更好,因为编译器更了解代码的可能用途。