gpt4 book ai didi

ios - lldb Xcode:错误:'printf'不是有效的命令

转载 作者:行者123 更新时间:2023-12-01 18:26:57 26 4
gpt4 key购买 nike

我正在使用Xcode 4.3.3,并且想要设置符号端点。我为所有objc_msgSend符号创建了一个符号断点,并希望将其与“调试器输出”结合使用。

我遵循了this post in SO的技巧。但是在我的调试器中,消息

错误:“printf”不是有效命令。

出现。有什么线索吗?我希望为每个函数调用一条消息[Class method],以将其打印在调试器区域中。像这样

[UIApplication sharedApplication]
[UIApplication _isClassic]
[NSCFString getCString:maxLength:encoding:]
[UIApplication class]
[SLSMoleculeAppDelegate isSubclassOfClass:]
[SLSMoleculeAppDelegate initialize]

最佳答案

如果在断点设置中为debugger命令添加前缀“expr-”,则它可与lldb一起使用:

expr -- (void)printf("[%s, %s]\n",(char *) object_getClassName(*(long*)($esp+4)), (char *) *(long *)($esp+8) )

但是,该解决方案并不完美,因为调试器在每个输出之后都显示“无结果”:
[OS_xpc_dictionary, _xref_dispose]
<no result>
[NSObject, initialize]
<no result>
[OS_object, initialize]
<no result>

我没有发现什么可以抑制“无结果”输出,可能是不可能的,请参阅 this Open Radar

关于ios - lldb Xcode:错误:'printf'不是有效的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12693237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com