繁体   English   中英

XCode中宏的符号断点

[英]Symbolic breakpoint on Macro in XCode

我在我的应用程序中使用CocoaLumberjack( https://github.com/CocoaLumberjack/CocoaLumberjack )。

它有几个不同的日志宏,例如:
DDLogInfo
DDLogVerbose
DDLogWarn
DDLogError

这些被定义为宏。 我想创建一个将在所有DDLogError上中断的符号断点。 我怎么做?

简而言之,您不需要。 宏是预编译器指令。 到程序编译并运行时,宏消失了。

符号断点会中断特定的实例方法和函数调用。

您可能能够做的最好的事情是创建一个虚拟方法并编辑DDLogError宏的定义以调用该方法。 然后,您可以在该方法上设置断点(符号或实际)。

lldb具有一个“源正则表达式断点”,可能对此有所帮助。 它将在源文件的文本中搜索某种模式,如果该模式匹配,则在该源代码行上设置一个断点。 你说:

(lldb) break set -p "DDLog"

这可能对您来说不太方便,因为没有参数它只会在当前源文件中查找,并且您可以指定任意数量的文件,例如:

(lldb) break set -p "DDLog" -f foo.c -f bar.c

但是目前没有办法说“所有源文件”,因此您可能会厌倦键入所有文件。但是,如果您只需要在几个文件中设置这些宏断点,则可能会派上用场。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM