2013-05-03 71 views
0

我正在使用静态分析来验证我个人开发的OSX程序。使用GDB我找到了NSString的内存地址。有没有解析它作为NSString并阅读其内容的方法? 'po'不起作用,因为不包含符号表。所有其他检查记忆命令不起作用。我假设字符串文字被包含在对象的某个地方,我可以转储整个对象UTF-8/16吗?gdb print NSString调试

+0

po 0x467954588或任何应该工作,如果这是真正的地址,和。不只是一个未初始化的指针 – 2013-05-04 12:45:24

回答

1

常量字符串对象至少有两种不同的布局。它们都存储一个指向该对象中字符串字节的指针;我认为一个布局使用UTF-8,另一个使用UTF-16。正确的x/x和x/s命令集应该能够打印内容,但是如果调试器的内存命令不起作用,那就没有帮助。