0

可能重复:
如何打印出方法名称和行号并有条件地禁用 NSLog?
在 Objective-C 中使用宏来记录函数名和行号

问题

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

背景

我正在尝试编写一个快速宏来寻找无限循环,我想要一些可以在不修改的情况下复制粘贴的东西,并将 NSLog 当前文件名和行号,或当前类和方法名 - 真的任何可以让我确定什么循环是无限的。

4

2 回答 2

3

这是一小段有用的代码:

#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
于 2012-06-15T14:49:15.263 回答
0

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

于 2012-06-15T14:51:54.587 回答