變量查看
變量查看: 最常見的使用便是使用print(可簡(jiǎn)寫為p)打印變量?jī)?nèi)容。
以上述程序?yàn)槔?/p>gdb helloworld break helloworld.c:17 if i == 0 (gdb) run Starting program: /home/book/helloworld helloworld. Breakpoint 2, main (argc=1, argv=0x7fffffffdca8) at helloworld.c:17 17 result += i; (gdb) print i < ------------------ 查看變量 i 當(dāng)前的值 $1 = 10 (gdb) print result < ------------------ 查看變量 result 當(dāng)前的值 $2 = 45 (gdb) print argc < ------------------ 查看變量 argc 當(dāng)前的值 $3 = 1 (gdb) print str $4 = 0x4006c8 "Hello World" < ------------------ 查看變量 str 當(dāng)前的值
查看內(nèi)存: examine(簡(jiǎn)寫為x)可以用來查看內(nèi)存地址中的值。語法如下:
x/[n][f][u] addr
其中:
單元類型常見有如下:
示例:
(gdb) x/4b str 0x4006c8: 01001000 01100101 01101100 01101100
可以看到,變量 str 的四個(gè)字節(jié)都以二進(jìn)制的方式打印出來了。
- b 字節(jié)
- h 半字,即雙字節(jié)
- w 字,即四字節(jié)
- g 八字節(jié)
- n 表示要顯示的內(nèi)存單元數(shù),默認(rèn)值為1
- f 表示要打印的格式,前面已經(jīng)提到了格式控制字符
- u 要打印的單元長(zhǎng)度
- addr 內(nèi)存地址
ra 0x3ff7ef2282 0x3ff7ef2282 < __libc_start_main+160 >
sp 0x3ffffffaa0 0x3ffffffaa0
gp 0x2aaaaac800 0x2aaaaac800
tp 0x3ff7fdd250 0x3ff7fdd250
t0 0x3ff7ed60b0 274742468784
t1 0x3ff7ef21e2 274742583778
t2 0x2aaaaac4f0 183251944688
fp 0x3ffffffab0 0x3ffffffab0
s1 0x0 0
a0 0x1 1
a1 0x3ffffffc28 274877905960
a2 0x3ffffffc38 274877905976
a3 0x0 0
a4 0x3ffffffad8 274877905624
a5 0x0 0
a6 0x3ff7fd88a8 274743527592
(內(nèi)容過多未顯示完全)
-
Linux
+關(guān)注
關(guān)注
87文章
11462瀏覽量
212803 -
調(diào)試
+關(guān)注
關(guān)注
7文章
607瀏覽量
34519 -
變量
+關(guān)注
關(guān)注
0文章
614瀏覽量
28822 -
gdb
+關(guān)注
關(guān)注
0文章
60瀏覽量
13536
發(fā)布評(píng)論請(qǐng)先 登錄
QEMU+GDB調(diào)試ARM程序
使用GDB調(diào)試Linux應(yīng)用程序
Linux下用gdb 調(diào)試、查看代碼堆棧 - 程良
ARM平臺(tái)如何玩轉(zhuǎn)GDB遠(yuǎn)程調(diào)試?
Linux應(yīng)用的GDB調(diào)試的原理及過程分析

實(shí)例演示GDB的使用

嵌入式Linux GDB調(diào)試環(huán)境搭建與使用

ARM平臺(tái)如何玩轉(zhuǎn)GDB遠(yuǎn)程調(diào)試?

嵌入式Linux GDB是什么

Linux系統(tǒng)中如何進(jìn)行GDB調(diào)試
GDB調(diào)試工具的原理

如何使用GDB調(diào)試工具

評(píng)論