變量查看
變量查看: 最常見的使用便是使用print(可簡寫為p)打印變量內(nèi)容。
以上述程序為例: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 當前的值 $1 = 10 (gdb) print result < ------------------ 查看變量 result 當前的值 $2 = 45 (gdb) print argc < ------------------ 查看變量 argc 當前的值 $3 = 1 (gdb) print str $4 = 0x4006c8 "Hello World" < ------------------ 查看變量 str 當前的值
查看內(nèi)存: examine(簡寫為x)可以用來查看內(nèi)存地址中的值。語法如下:
x/[n][f][u] addr
其中:
單元類型常見有如下:
示例:
(gdb) x/4b str 0x4006c8: 01001000 01100101 01101100 01101100
可以看到,變量 str 的四個字節(jié)都以二進制的方式打印出來了。
- b 字節(jié)
- h 半字,即雙字節(jié)
- w 字,即四字節(jié)
- g 八字節(jié)
- n 表示要顯示的內(nèi)存單元數(shù),默認值為1
- f 表示要打印的格式,前面已經(jīng)提到了格式控制字符
- u 要打印的單元長度
- 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)容過多未顯示完全)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213765 -
調(diào)試
+關(guān)注
關(guān)注
7文章
612瀏覽量
34710 -
變量
+關(guān)注
關(guān)注
0文章
614瀏覽量
28951 -
gdb
+關(guān)注
關(guān)注
0文章
60瀏覽量
13601
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
使用GDB調(diào)試Linux應用程序
本篇講解使用GDB調(diào)試Linux應用程序,以下以 `hellowld.c` 為例介紹 GDB 的調(diào)試入門。
發(fā)表于 06-27 15:48
?591次閱讀
Linux下用gdb 調(diào)試、查看代碼堆棧 - 程良
的參數(shù)名及其值。info locals打印出當前函數(shù)中所有局部變量及其值。info catch打印出當前的函數(shù)中的異常處理信息。查看源程序—————一、顯示源代碼GDB 可以打印出所調(diào)試
發(fā)表于 12-01 09:46
ARM平臺如何玩轉(zhuǎn)GDB遠程調(diào)試?
程序、單步執(zhí)行、跳入/跳出函數(shù)、設(shè)置斷點、查看變量等等,它是UNIX/LINUX操作系統(tǒng)下強大的程序調(diào)試工具。GDB支持多種語言,包括Ada、匯編、C/C++、D、Fortran、GO
發(fā)表于 09-27 15:28
Linux應用的GDB調(diào)試的原理及過程分析
GDB調(diào)試是應用程序在開發(fā)板上運行,然后在PC機上對開發(fā)板上得應用程序進行調(diào)試,PC機運行GDB,開發(fā)板上運行GDBServer。在應用程序
發(fā)表于 03-05 09:44
?3582次閱讀

嵌入式Linux GDB調(diào)試環(huán)境搭建與使用
/跳出函數(shù)、設(shè)置斷點、查看變量等等。Ubuntu資源充足,可以直接用gdb調(diào)試程序。嵌入式Linux性能弱,一般PC上運行源碼和GDB工具,
發(fā)表于 11-01 17:59
?8次下載

ARM平臺如何玩轉(zhuǎn)GDB遠程調(diào)試?
前言關(guān)于GDB工具GDB工具是GNU項目調(diào)試器,基于命令行使用。和其他的調(diào)試器一樣,可使用GDB工具單步運行程序、單步執(zhí)行、跳入/跳出函數(shù)、

Linux系統(tǒng)中如何進行GDB調(diào)試
啟動調(diào)試 $ gdb helloWorldGNU gdb (GDB) Red Hat Enterprise Linux 8.2-12.el8 Copyright (C) 2018 F
GDB調(diào)試工具的原理
了。 1.2 執(zhí)行中進程調(diào)試 如果想對一個已經(jīng)執(zhí)行的進程進行調(diào)試,那么就要在gdb這個父進程中調(diào)用ptrace(PTRACE_ATTA

如何使用GDB調(diào)試工具
在對應程序目錄中使用下面的命令 gdb test 2、調(diào)試已經(jīng)開始運行的程序進程 調(diào)試已經(jīng)開始運行的程序進程,首先先用top命令查看運行的程序進程的pid如下: 比如我要加載的程序

如何使用linux下gdb來調(diào)試python程序
如何使用linux下gdb來調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)來調(diào)試Python程序。
評論