如上所述site.当我想在gdb中转储内存时。
起点为0x1000
,结束0x2000
。
对于lldb,起始时间为0x1000
并结束0x1200
。
是否有理由或只是一个错误?
主要问题是:如何在lldb中将内存区域从0x1000
转储到0x2000
?
答案 0 :(得分:13)
以下对我来说很好:
(lldb) memory read --outfile /tmp/mem.txt 0x6080000fe680 0x6080000fe680+1000
从给定的起始地址以十六进制格式转储1000字节的内存到/tmp/mem.txt。使用--binary作为二进制格式。
您还可以使用'count'来声明要转储的字节数:
(lldb) memory read --outfile /tmp/mem.txt --count 1000 0x6080000fe680
如果你在Xcode调试环境中并且有一个名为'note1'的变量,你也可以使用:
(lldb) memory read --outfile /tmp/mem.bin note1 note1+100
在Xcode的实际位置读取0x1000失败(“内存读取失败”),必须以某种方式保护。
至于文档中0x1200和0x2000之间的区别,我认为这只是一个小错误。