我正与许多第三方供应商合作,他们为我提供了全面的.lib文件。正在运行的已处理的一个正在向控制台记录消息,这有点令人担忧,需要与供应商一起提出
问题是,我不确定消息来自何处,并且由于项目的复杂性,几乎不可能看到消息的来源。通过这种方式,我的意思是,一些库彼此交互,项目不会在没有其他库的情况下运行。如果我要评论某些类的初始化,它可能是一个红鲱鱼,因为它可能从另一个库调用一个函数。
我的问题是,Xcode断点(或者我可以使用的其他工具)中是否有一个功能可以显示某个控制台日志(无论是NSLog还是std :: cout等)的来源?
非常感谢,提前 路加
答案 0 :(得分:2)
是的,使用符号断点来打破NSLog
或std::cout
。如果您正在处理C ++代码或Swift,您甚至可以打破特定的错误或异常。要为项目添加符号断点,您必须执行以下操作:
std::cout
;在目标C中:-[NSObject(NSObject) doesNotRecognizeSelector:]
;在C或Swift中,CGErrorBreakpoint()
- 重要说明< / strong> - 避免插入任何空格;不幸的是,这里的格式化 - 将[符号]放在不同的行中但是 - 和[在ObjC符号bt
,以便在每次点击此符号时获得回溯如果您的库正在抛出C ++异常,您也可以打破这个。只需在单击+按钮时选择该选项即可。要了解更多如何在Xcode中设置断点,请转到:
导航至:调试您的应用&gt; 设置断点&gt; 在事件发生时暂停执行