菜鸟笔记
提升您的技术认知

gdb 打印内存和数组

阅读 : 205

打印数组:p  *arrayPtr@256 (打印256个数组元素类型元素值),二元操作符@左边数组第一个元素,右边数组长度。

                   p /x (char)*arrayPtr@256(以16进制打印256个以数组地址开始的字节值)

查看和修改数组打印长度限制:show print elements,     set print elements 256

打印内存:x /nfu addr (以f格式打印n个u类型存储单元的以addr开头的内存值)

                   f: o(octal)  x(hex) d(decimal) u(unsigned decimal) t(binary) f(float) a(address) i(instruciton) c(char) s(string)

                   u: b(byte)  h(halfword)  w(word)  g(gaint, 8 bytes)

                   for example: x/256xb addr,    x/256xw addr 

打印内存数据到文件:dump [format] memory filename start_addr end_addr

                                      dump binary memory log.txt  array   array+10 ( 这里 char array[10]; )