【发布时间】:2013-12-19 21:33:00
【问题描述】:
我已经看到传递语句,您可以在 LLDB 命令中输入复杂的语句,如 for 循环(使用您正在调试的程序的语言 - 在本例中为 Objective-C)
我真的很想能够做到这一点。我从来没有学过 Python,并且不想花时间这样做以使用可用的 Python LLDB 支持 - 一天中没有足够的时间。
【问题讨论】:
标签: objective-c lldb
我已经看到传递语句,您可以在 LLDB 命令中输入复杂的语句,如 for 循环(使用您正在调试的程序的语言 - 在本例中为 Objective-C)
我真的很想能够做到这一点。我从来没有学过 Python,并且不想花时间这样做以使用可用的 Python LLDB 支持 - 一天中没有足够的时间。
【问题讨论】:
标签: objective-c lldb
您可以使用expr -- ... 输入Objective-C 语句,例如:
【讨论】:
expr -- for (int x = 0;x<5;x++) printf("x = %d\n", x); 为我工作。请注意 for 语句 缺少 void 强制转换。只有当 lldb 无法确定表达式类型时才需要强制转换(例如:某些 objc 消息传递)
基于@“Martin R”的回答。
至少NSLog 似乎没有使用 Xcode 6.0.1 打印内容。
(lldb) expr -- for(UIWindow *w in [(UIApplication *)[UIApplication sharedApplication] windows]) { (int)printf("%s\n\n", [(NSString *)[w recursiveDescription] UTF8String]); }
【讨论】: