代码:
#include <stdio.h> int main() { int a = 0x414243; printf("%d\n", 1); return 0; }
to compile and link:
xlC_r -g -o test test.cpp
to debug:
dbx ./test
Type 'help' for help.
reading symbolic information ...
(dbx) file
test.cpp
(dbx) stop in main
[1] stop in main
(dbx) run
[1] stopped in main at line 5 ($t1)
5 int a = 0x414243;
(dbx) n
stopped in main at line 7 ($t1)
7 printf("%d\n", 1);
(dbx) p a
4276803
(dbx) p &a
0x2ff22470
(dbx) &a /X ;X 以十六进制打印长整型字。
0x2ff22470: 00414243
(dbx) &a, &a + 3 /h ;h 以十六进制打印字节。
0x2ff22470: 00 41 42 43
(dbx)
=====================
查看内存:
Address, Address / [Mode][> File]
Address / [Count][Mode] [> File]
如果省略了 Mode 变量,则重新使用先前指定的方式。初始方式为 X。支持以下方式:
b 以八进制打印字节。
c 将字节作为字符打印。
D 以十进制打印长整型字。
d 以十进制打印短整型字。
f 打印单精度浮点数。
g 打印双精度浮点数。
h 以十六进制打印字节。
i 打印机器指令。
lld 打印 8 字节有符号十进制数。
llo 打印 8 字节无符号八进制数。
llu 打印 8 字节无符号十进制数。
llx 打印 8 字节无符号十六进制数。
O 以八进制打印长整型字。
o 以八进制打印短整型字。
q 打印扩展精度浮点数。
s 打印由空字节终止的字符串。
X 以十六进制打印长整型字。
x 以十六进制打印短整型字。