LLDB:如何制作一个自定义函数来漂亮地打印动态结构数组



我有一个动态分配的结构体数组,我需要在LLDB中打印,而在断点中。所有这些都发生在ObjC之外的一些纯C代码中。

我写了一个静态函数来完成打印工作,虽然我可以在LLDB中调用它,但它只会在静默停止之前打印大约60行。有时,它不会打印任何东西,除非我在LLDB内再次按Enter。我认为这是由于线程,但我试图做dispatch_async内部的函数没有任何成功-它不会打印任何东西。

因此,我正在寻找替代解决方案(可能是Python脚本)来获得该数组的漂亮打印,因为它对我的调试工作至关重要。

你说的是:

struct MyStruct {/* some stuff */};
struct MyStruct *struct_ptr = malloc(100 * sizeof(struct MyStruct));

,你想打印struct_ptr,就像你做的那样:

struct MyStruct struct_arr[100];

如果你在Xcode 8.0之前使用lldb,你可以这样做:

(lldb)内存读取-c 100 -t MyStruct struct_ptr

如果你有Xcode 8.0的测试版,你可以使用新的parray命令:

(lldb)数组struct_ptr

最新更新