memory read

memory read

(lldb) hel memory read
Read from the memory of the current target process.
Syntax: memory read <cmd-options> <address-expression> [<address-expression>]
Command Options Usage:
  memory read [-r] [-f <format>] [-c <count>] [-G <gdb-format>] [-s <byte-size>] [-l <number-per-line>] [-o <filename>] <address-expression> [<address-expression>]
  memory read [-br] [-f <format>] [-c <count>] [-s <byte-size>] [-o <filename>] <address-expression> [<address-expression>]
  memory read [-AFLORTr] -t <name> [-f <format>] [-c <count>] [-G <gdb-format>] [-E <count>] [-o <filename>] [-d <none>] [-S <boolean>] [-D <count>] [-P <count>] [-Y[<count>]] [-V <boolean>] [-Z <count>] <address-expression> [<address-expression>]
  memory read -t <name> [-x <source-language>] <address-expression> [<address-expression>]
       -A ( --show-all-children )
            Ignore the upper bound on the number of children to show.
       -D <count> ( --depth <count> )
            Set the max recurse depth when dumping aggregate types (default is
            infinity).
       -E <count> ( --offset <count> )
            How many elements of the specified type to skip before starting to
            display data.
       -F ( --flat )
            Display results in a flat format that uses expression paths for
            each variable or member.
       -G <gdb-format> ( --gdb-format <gdb-format> )
            Specify a format using a GDB format specifier string.
       -L ( --location )
            Show variable location information.
       -O ( --object-description )
            Display using a language-specific description API, if possible.
       -P <count> ( --ptr-depth <count> )
            The number of pointers to be traversed when dumping values (default
            is zero).
       -R ( --raw-output )
            Don't use formatting options.
       -S <boolean> ( --synthetic-type <boolean> )
            Show the object obeying its synthetic provider, if available.
       -T ( --show-types )
            Show variable types when dumping values.
       -V <boolean> ( --validate <boolean> )
            Show results of type validators.
       -Y[<count>] ( --no-summary-depth=[<count>] )
            Set the depth at which omitting summary information stops (default
            is 1).
       -Z <count> ( --element-count <count> )
            Treat the result of the expression as if its type is an array of
            this many values.
       -b ( --binary )
            If true, memory will be saved as binary. If false, the memory is
            saved save as an ASCII dump that uses the format, size, count and
            number per line settings.
       -c <count> ( --count <count> )
            The number of total items to display.
       -d <none> ( --dynamic-type <none> )
            Show the object as its full dynamic type, not its static type, if
            available.
            Values: no-dynamic-values | run-target | no-run-target
       -f <format> ( --format <format> )
            Specify a format to be used for display.
       -l <number-per-line> ( --num-per-line <number-per-line> )
            The number of items per line to display.
       -o <filename> ( --outfile <filename> )
            Specify a path for capturing command output.
       -r ( --force )
            Necessary if reading over target.max-memory-read-size bytes.
       -s <byte-size> ( --size <byte-size> )
            The size in bytes to use when displaying with the selected format.
       -t <name> ( --type <name> )
            The name of a type to view memory as.
       -x <source-language> ( --language <source-language> )
            The language of the type to view memory as.
       --show-tags
            Include memory tags in output (does not apply to binary output).
       --append-outfile
            Append to the file specified with '--outfile <path>'.
     
     This command takes options and free-form arguments.  If your arguments
     resemble option specifiers (i.e., they start with a - or --), you must use
     ' -- ' between the end of the command options and the beginning of the
     arguments.

memory read -t typename -c count taskList

(lldb)  memory read -t WSTaskInfo  -c 5   taskList
(WSTaskInfo) 0x10f2cbaf8 = {
  callback = 0x0000000103d364e0 (QQKSong`_wskMain1497func at KSChangeIPVC.m:1498)
  taskName = 0x000000010c901e00 "onSwitchWnsEnvWithNewServer"
}
(WSTaskInfo) 0x10f2cbb08 = {
  callback = 0x000000010437db60 (QQKSong`_wskMain353func(NSObject*) at WSPerformanceStatisticsMgr.mm:354)
  taskName = 0x000000010c9131c0 "startMonitor"
}
(WSTaskInfo) 0x10f2cbb18 = {
  callback = 0x0000000106ca83e0 (QQKSong`_wskMain72func at WSAppMain.m:73)
  taskName = 0x000000010c99eb40 "main"
}
(WSTaskInfo) 0x10f2cbb28 = {
  callback = 0x000000010470d9d4 (QQKSong`_wskLogin397func at WSUDLDownloadMgr.m:398)
  taskName = 0x000000010c920b60 "WSUDLDownloadMgr"
}
(WSTaskInfo) 0x10f2cbb38 = {
  callback = 0x0000000106c4162c (QQKSong`_wskLaunch1870func(NSObject*) at KSAppDelegate.mm:1871)
  taskName = 0x000000010c99be40 "registerFonts"
}

memory read -t typename -c count -F taskList

(lldb)  memory read -t WSTaskInfo  -c 5  -F taskList
0x10f2cbaf8.callback = 0x0000000103d364e0 (QQKSong`_wskMain1497func at KSChangeIPVC.m:1498)
0x10f2cbaf8.taskName = 0x000000010c901e00 "onSwitchWnsEnvWithNewServer"
0x10f2cbb08.callback = 0x000000010437db60 (QQKSong`_wskMain353func(NSObject*) at WSPerformanceStatisticsMgr.mm:354)
0x10f2cbb08.taskName = 0x000000010c9131c0 "startMonitor"
0x10f2cbb18.callback = 0x0000000106ca83e0 (QQKSong`_wskMain72func at WSAppMain.m:73)
0x10f2cbb18.taskName = 0x000000010c99eb40 "main"
0x10f2cbb28.callback = 0x000000010470d9d4 (QQKSong`_wskLogin397func at WSUDLDownloadMgr.m:398)
0x10f2cbb28.taskName = 0x000000010c920b60 "WSUDLDownloadMgr"
0x10f2cbb38.callback = 0x0000000106c4162c (QQKSong`_wskLaunch1870func(NSObject*) at KSAppDelegate.mm:1871)
0x10f2cbb38.taskName = 0x000000010c99be40 "registerFonts"

打印堆栈数据

memory read/4xg -t long -c 10 $sp

(lldb) p/x $x29
(unsigned long) 0x000000016fcf3550
(lldb) p/x $x30
(unsigned long) 0x000000019fd4de94
(lldb) memory read/4xg -t  long -c 10  $sp
(long) 0x16fcf3500 = 0x00000001c3ae5240
(long) 0x16fcf3508 = 0x00000001f9695888
(long) 0x16fcf3510 = 0x0000000125d05288
(long) 0x16fcf3518 = 0x00000001001e08d0
(long) 0x16fcf3520 = 0x0000000000000000
(long) 0x16fcf3528 = 0x0000000000000000
(long) 0x16fcf3530 = 0x000000012600f180
(long) 0x16fcf3538 = 0x0000000125d05280
(long) 0x16fcf3540 = 0x000000016fcf3550
(long) 0x16fcf3548 = 0x177453019fd4de94
(lldb) memory read/4xg -t  long -c 10  $sp
(long) 0x16fcf3500 = 0x00000001c3ae5240
(long) 0x16fcf3508 = 0x00000001f9695888
(long) 0x16fcf3510 = 0x0000000125d05288
(long) 0x16fcf3518 = 0x00000001001e08d0
(long) 0x16fcf3520 = 0x0000000000000000
(long) 0x16fcf3528 = 0x0000000000000000
(long) 0x16fcf3530 = 0x000000012600f180
(long) 0x16fcf3538 = 0x0000000125d05280
(long) 0x16fcf3540 = 0x000000016fcf3550
(long) 0x16fcf3548 = 0x177453019fd4de94
(lldb) p/x $sp

格式
x 16 进制
f 浮点
d 十进制
c 字符
t 二进制
字节大小
b: byte 字节
h: half word 2 字节
w: word 4 字节
g: glant word 8字节

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358

推荐阅读更多精彩内容