国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

GDB調(diào)試命令詳解

2023-04-08 19:49 作者:淡定的茶  | 我要投稿
  • 1.complile

GCC:

gcc -Wall -o2 -g ?file.cpp

MAKEFILE:

CFLAGS = -Wall -o2 -g

configure:

./configure CFLAGS="-Wall -o2 -g"

  • 2.gdb filename [core file]

? ? ? ? ? ? file core.29724

? ? ? ? ? ? ?core.29724: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from './a.out'


  • 3.command

set breakpoint : break -> b

b function-name

b line-number

b file-name:line-number

b file-name:function-name

b +/- offset

b *address


+/- offset :從當(dāng)前位置的偏移行數(shù)

*address 代碼段內(nèi)的地址

example:

info break Num ? ? Type ? ? ? ? ? Disp Enb Address ? ? ? ? ? ?What 2 ? ? ? breakpoint ? ? keep y ? 0x0000000000454112 in main(int, char**) at /home/lt/src/test/src/test.cpp:27


  • 4.run -a

(gdb)run -a


  • 5.backtrace -> bt

bt

bt N/-N

bt full

bt full N/-N

bt number

  • 6.info register -> info reg

rax ? ? ? ? ? ?0x7ffff102cf40 ? 140737236881216 rbx ? ? ? ? ? ?0x4940d0 4800720 rcx ? ? ? ? ? ?0xb ? ? ?11 rdx ? ? ? ? ? ?0x7fffffffe248 ? 140737488347720 rsi ? ? ? ? ? ?0x1 ? ? ?1 rdi ? ? ? ? ? ?0x7fffffffe10f ? 140737488347407 rbp ? ? ? ? ? ?0x7fffffffe0c0 ? 0x7fffffffe0c0 rsp ? ? ? ? ? ?0x7fffffffd040 ? 0x7fffffffd040 r8 ? ? ? ? ? ? 0x0 ? ? ?0 r9 ? ? ? ? ? ? 0x5241564e20524148 ? ? ? 5927113478145982792 r10 ? ? ? ? ? ?0x4c42203252414843 ? ? ? 5494989895845890115 r11 ? ? ? ? ? ?0x7ffff0d3e740 ? 140737233807168 r12 ? ? ? ? ? ?0x40f840 4257856 r13 ? ? ? ? ? ?0x7fffffffe240 ? 140737488347712 r14 ? ? ? ? ? ?0x0 ? ? ?0 r15 ? ? ? ? ? ?0x0 ? ? ?0 rip ? ? ? ? ? ?0x453c98 0x453c98 <DALServiceMain::DALServiceMain(int, char**)+34> eflags ? ? ? ? 0x202 ? ?[ IF ] cs ? ? ? ? ? ? 0x33 ? ? 51 ss ? ? ? ? ? ? 0x2b ? ? 43 ds ? ? ? ? ? ? 0x0 ? ? ?0 es ? ? ? ? ? ? 0x0 ? ? ?0 fs ? ? ? ? ? ? 0x0 ? ? ?0 gs ? ? ? ? ? ? 0x0 ? ? ?0


顯示register內(nèi)容,使用$號:

p $rax

p/格式

x 16進(jìn)制

d 10

u ?無符號十進(jìn)制

o 8

t ?2進(jìn)制,two

a 地址

c ascii

f 浮點

s 字串

i ?機器語言


x命令可顯示內(nèi)存的內(nèi)容, x來源eXamining

程序 i=100

(gdb) x $pc 0x4009f6 <main()+8>: ? ?-57 '\307'

x/i 顯示匯編指令

(gdb) x/i ? 0x4009fa <main()+12>: ? ? ? ?add ? ?%al,(%rax)

x/NFU ADDR ? ADDR希望顯示的地址 N為次數(shù) F為之前的格式,U表示單位:b 字節(jié) h 半字(2字節(jié)) w字(4字節(jié))g 雙字(8字節(jié))

從pc所指地址顯示10條指令:

(gdb) x/10i $pc => 0x4009f6 <main()+8>: movl ? $0x64,-0x4(%rbp) ? 0x4009fd <main()+15>: ? ? ? ?mov ? ?$0x8,%esi ? 0x400a02 <main()+20>: ? ? ? ?mov ? ?$0x601080,%edi ? 0x400a07 <main()+25>: ? ? ? ?callq ?0x400868 <_ZNSolsEm@plt> ? 0x400a0c <main()+30>: ? ? ? ?mov ? ?%rax,%rdi ? 0x400a0f <main()+33>: ? ? ? ?mov ? ?$0x400888,%esi ? 0x400a14 <main()+38>: ? ? ? ?callq ?0x400878 <_ZNSolsEPFRSoS_E@plt> ? 0x400a19 <main()+43>: ? ? ? ?mov ? ?$0x4,%esi ? 0x400a1e <main()+48>: ? ? ? ?mov ? ?$0x400b64,%edi ? 0x400a23 <main()+53>: ? ? ? ?mov ? ?$0x0,%eax

6.反匯編命令

disassemble 簡寫 disas

disas

disas ?程序計數(shù)器

disas ?開始地址 結(jié)束地址

(gdb) disas Dump of assembler code for function main(): ? 0x00000000004009ee <+0>: ? ? push ? %rbp ? 0x00000000004009ef <+1>: ? ? mov ? ?%rsp,%rbp ? 0x00000000004009f2 <+4>: ? ? sub ? ?$0x10,%rsp => 0x00000000004009f6 <+8>: ? ? movl ? $0x64,-0x4(%rbp) ? 0x00000000004009fd <+15>: ? ?mov ? ?$0x8,%esi ? 0x0000000000400a02 <+20>: ? ?mov ? ?$0x601080,%edi ? 0x0000000000400a07 <+25>: ? ?callq ?0x400868 <_ZNSolsEm@plt> ? 0x0000000000400a0c <+30>: ? ?mov ? ?%rax,%rdi ? 0x0000000000400a0f <+33>: ? ?mov ? ?$0x400888,%esi ? 0x0000000000400a14 <+38>: ? ?callq ?0x400878 <_ZNSolsEPFRSoS_E@plt> ? 0x0000000000400a19 <+43>: ? ?mov ? ?$0x4,%esi ? 0x0000000000400a1e <+48>: ? ?mov ? ?$0x400b64,%edi ? 0x0000000000400a23 <+53>: ? ?mov ? ?$0x0,%eax ? 0x0000000000400a28 <+58>: ? ?callq ?0x4007f8 <printf@plt> ? 0x0000000000400a2d <+63>: ? ?mov ? ?$0x0,%eax ? 0x0000000000400a32 <+68>: ? ?leaveq ? 0x0000000000400a33 <+69>: ? ?retq ? End of assembler dump.

1.運行

n 單步執(zhí)行 next

s 進(jìn)入函數(shù) ?step

c 繼續(xù)運行 continue

2.watch ?監(jiān)視變量或表達(dá)式

? 發(fā)生變化時,停止

?awatch 被訪問,改變時

?rwatch 被訪問

3 delete 刪除端點,監(jiān)視點

info b

delete

4.改變變量的值

set variable i = 500

p i


5.生成內(nèi)核轉(zhuǎn)儲文件,即core文件

generate-core-file

從命令行

gcore 'pidof exe`


6. attach 進(jìn)程id

顯示進(jìn)程信息

(gdb) info proc process 6635 cmdline = './a.out' cwd = '/root' exe = '/root/a.out'


GDB調(diào)試命令詳解的評論 (共 條)

分享到微博請遵守國家法律
海晏县| 句容市| 龙里县| 兰西县| 新余市| 黄梅县| 碌曲县| 凉山| 崇文区| 毕节市| 河间市| 香港 | 普安县| 庐江县| 永修县| 凤山市| 通道| 隆子县| 镇坪县| 囊谦县| 布尔津县| 旬邑县| 双柏县| 防城港市| 连城县| 陈巴尔虎旗| 北安市| 乌恰县| 南通市| 喀什市| 遂溪县| 靖江市| 万盛区| 永泰县| 灵武市| 郧西县| 台南县| 清丰县| 庆城县| 五河县| 洪雅县|