欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
GDB調試手冊

GDB調試手冊

Linux 包含了一個(gè)叫g(shù)db 的GNU 調試程序。gdb 是一個(gè)用來(lái)調試C和C++程序的強力調試器。它使你能在程序運行時(shí)觀(guān)察程序的內部結構和內存的使用情況。以下是 gdb 所提供的一些功能:它使你能監視你程序中變量的值、它使你能設置斷點(diǎn)以使程序在指定的代碼行上停止執行、它使你能一行行的執行你的代碼。在命令行上鍵入gdb并按回車(chē)鍵就可以運行g(shù)db 了。(Windows需要安裝MinGW或者CygWin并且需要配置環(huán)境變量才可以使用)

 

GDB 命令行參數

啟動(dòng) GDB

l  gdb executable

l  gdb -e executable -c core-file

l  gdb executable -pid process-id

(使用命令 'ps -auxw' 可以查看進(jìn)程的 pid

選項

含義

–help
-h

列出命令行參數。

–exec=file
-e file

指定可執行文件。

–core=core-file
-c core-file

指明 core 文件。

–command=file
-x file

從指定文件中讀取 gdb 命令。

–directory=directory
-d directory

把指定目錄加入到源文件搜索路徑中。

–cd=directory

以指定目錄作為當前路徑來(lái)運行 gdb 。

–nx
-n

不要執行 .gdbinit 文件中的命令。默認情況下,這個(gè)文件中的命令會(huì )在所有命令行參數處理完后被執行。

–batch

在非交互模式下運行 gdb 。從文件中讀取命令,所以需要 -x 選項。

–symbols=file
-s file

從指定文件中讀取符號表。

-write

允許對可執行文件和 core 文件進(jìn)行寫(xiě)操作。

–quiet
-q

不要打印介紹和版權信息。

–tty=device

指定 device 為運行程序的標準輸入輸出。

–pid=process-id
-p process-id

指定要附屬的進(jìn)程 ID 。

 

GDB命令

GDB 中使用的命令:

命令

描述

help

列出 gdb 幫助信息。

help topic

列出相關(guān)話(huà)題中的 gdb 命令。

help command

列出命令描述信息。

apropos search-word

搜索相關(guān)的話(huà)題。

info args
i args

列出運行程序的命令行參數。

info breakpoints

列出斷點(diǎn)。

info break

列出斷點(diǎn)號。

info break breakpoint-number

列出指定斷點(diǎn)的信息。

info watchpoints

列出觀(guān)察點(diǎn)。

info registers

列出使用的寄存器。

info threads

列出當前的線(xiàn)程。

info set

列出可以設置的選項。

Break and Watch

 

break funtion
break line-number

在指定的函數,或者行號處設置斷點(diǎn)。

break +offset
break -offset

在當前停留的地方前面或后面的幾行處設置斷點(diǎn)。

break file:func

在指定的file文件中的func處設置斷點(diǎn)。

break file:nth

在指定的file文件中的第nth行設置斷點(diǎn)。

break *address

在指定的地址處設置斷點(diǎn)。一般在沒(méi)有源代碼時(shí)使用。

break line-number ifcondition

如果條件滿(mǎn)足,在指定位置設置斷點(diǎn)。

break line threadthread-number

在指定的線(xiàn)程中中斷。使用info threads可以顯示線(xiàn)程號。

tbreak

設置臨時(shí)的斷點(diǎn)。中斷一次后斷點(diǎn)會(huì )被刪除。

watch condition

當條件滿(mǎn)足時(shí)設置觀(guān)察點(diǎn)。

clear
clear func
clear nth

清除函數func處的斷點(diǎn)。
清除第nth行處的斷點(diǎn)。

delete
d

刪除所有的斷點(diǎn)或觀(guān)察點(diǎn)。

delete breakpoint-number
delete range

刪除指定的斷點(diǎn),觀(guān)察點(diǎn)。

disable breakpoint-number-or-range
enable breakpoint-number-or-range

不刪除斷點(diǎn),僅僅把它設置為無(wú)效,或有效。
例子:
顯示斷點(diǎn): info break
設置無(wú)效: disable 2-9

enable oncebreakpoint-number

設置指定斷點(diǎn)有效,當到達斷點(diǎn)時(shí)置為無(wú)效。

enable del breakpoint-number

設置指定斷點(diǎn)有效,當到達斷點(diǎn)時(shí)刪除它。

finish

繼續執行到函數結束。

Line Execution

 

step
s
step number-of-steps-to-perform

進(jìn)入下一行代碼的執行,會(huì )進(jìn)入函數內部。

next
n
next number

執行下一行代碼。但不會(huì )進(jìn)入函數內部。

until
until line-number

until line-number ifcondition

繼續運行直到到達指定行號,或者函數,地址等。

return
return expression

彈出選中的棧幀(stack frame)。如果后面指定參數,則返回表達式的值。

stepi
si
nexti
ni

執行下一條匯編/CPU指令。

info signals
info handle
handle SIGNAL-NAMEoption

當收到信號時(shí)執行下列動(dòng)作:nostop(不要停止程序),stop(停止程序執行),print(顯示信號),noprint(不顯示),pass/noignore(允許程序處理信號),nopass/ignore(不讓程序接受信號)

where

顯示當前的行號和所處的函數。

Program Stack

 

backtrace
bt
bt inner-function-nesting-depth
bt -outer-function-nesting-depth

顯示當前堆棧的追蹤,當前所在的函數。

backtrace full

打印所有局部變量的值。

frame number
number

選擇指定的棧幀。

up number
down number

向上或向下移動(dòng)指定個(gè)數的棧幀。

info frame addr

描述選中的棧幀。

info args
info all-reg
info locals
info catch

顯示選中棧幀的參數,局部變量,異常處理函數。all-reg也會(huì )列出浮點(diǎn)寄存器。

Source Code

 

list
l
list line-number
list function
list -
list start#,end#
list filename:function

列出相應的源代碼。

set listsize count
show listsize

設置list命令打印源代碼時(shí)的行數。

directory directory-name
dir directory-name
show directories

在源代碼路徑前添加指定的目錄。

directory

當后面沒(méi)有參數時(shí),清除源代碼目錄。

Examine Variables

 

print variable
variable
file::variable
p 'file'::variable

打印指定變量的值。

p *array-var@length

打印arrary-var中的前length項。

p/x var

以十六進(jìn)制打印整數變量var。

p/d var

把變量var當作有符號整數打印。

p/u var

把變量var作為無(wú)符號整數打印。

p/o var

把變量var作為八進(jìn)制數打印。

p/t var
x/b address
x/b &variable

以整數二進(jìn)制的形式打印var變量的值。

p/c variable

當字符打印。

p/f variable

以浮點(diǎn)數格式打印變量var。

p/a variable

打印十六進(jìn)制形式的地址。

x/w address
x/4b &variable

打印指定的地址,以四字節一組的方式。

call expression

類(lèi)似于print,但不打印 void 。

disassem addr

對指定地址中的指令進(jìn)行反匯編。

Controlling GDB

 

set gdb-option value

設置 GDB 的選項。

set print array on
set print array off
show print array

以可讀形式打印數組。默認是 off 。

set print array-indexes on
set print array-indexes off
show print array-indexes

打印數組元素的下標。默認是 off 。

set print pretty on
set print pretty off
show print pretty

格式化打印 C 結構體的輸出。

set print union on
set print union off
show print union

打印 C 中的聯(lián)合體。默認是 on 。

set print demangle on
set print demangle off
show print demangle

控制 C++ 中名字的打印。默認是 on 。

Working Files

 

info files
info share

列出當前的文件,共享庫。

file file

file當作調試的程序。如果沒(méi)指定參數,丟棄。

core file

file當作 core 文件。如果沒(méi)指定參數,則丟棄。

exec file

file當作執行程序。如果沒(méi)指定參數,則丟棄。

symbol file

file中讀取符號表。如果沒(méi)指定參數,則丟棄。

load file

動(dòng)態(tài)鏈入file文件,并讀取它的符號表。

path directory

把目錄directory加入到搜索可執行文件和符號文件的路徑中。

Start and Stop

 

run
r
run command-line-arguments
run < infile > outfile

從頭開(kāi)始執行程序,也允許進(jìn)行重定向。

continue
c

繼續執行直到下一個(gè)斷點(diǎn)或觀(guān)察點(diǎn)。

continue number

繼續執行,但會(huì )忽略當前的斷點(diǎn)number次。當斷點(diǎn)在循環(huán)中時(shí)非常有用。

kill

停止程序執行。

quit
q

退出 GDB 調試器。

GDB 操作提示

l  在編譯可執行文件時(shí)需要給 gcc 加上 "-g" 選項,這樣它才會(huì )為生成的可執行文件加入額外的調試信息。

l  不要使用編譯器的優(yōu)化選項,比如: "-O","-O2"。因為編譯器會(huì )為了優(yōu)化而改變程序流程,那樣不利于調試。

l  GDB 中執行 shell 命令可以使用:shell command

l  GDB 命令可以使用 TAB 鍵來(lái)補全。按兩次 TAB 鍵可以看到所有可能的匹配。

l  GDB 命令縮寫(xiě):例如 info bre 中的 bre 相當于 breakpoints。

GDB Emacs 中的操作:

emacs 按鍵

動(dòng)作

M-x gdb

切換到 gdb 模式。

C-h m

顯示 gdb 模式介紹信息。

M-s

等同于gdb 中的 step 命令。

M-n

等同于gdb 中的 next 命令。

M-i

等同于gdb 中的 stepi 命令。

C-c C-f

等同于gdb 中的 finish 命令。

M-c

等同于gdb 中的 continue 命令。

M-u

等同于gdb 中的 up 命令。

M-d

等同于gdb 中的 down 命令。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
GDB 常用調試命令
[轉]用GDB調試程序
Gdb調試精粹及使用實(shí)例
gdb常用命令 — Windows Live
用GDB調試程序
比較全面的gdb調試命令
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久