chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對GDB命令腳本做一個粗淺的介紹

嵌入式與Linux那些事 ? 來源:嵌入式與Linux那些事 ? 2023-02-06 11:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在shell下敲gdb命令即可啟動gdb,啟動后會顯示下述信息,出現(xiàn)gdb提示符。

?examplegdb
GNUgdb(Ubuntu8.1.1-0ubuntu1)8.1.1
Copyright(C)2018FreeSoftwareFoundation,Inc.
LicenseGPLv3+:GNUGPLversion3orlater
Thisisfreesoftware:youarefreetochangeandredistributeit.
ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopying"
and"showwarranty"fordetails.
ThisGDBwasconfiguredas"x86_64-linux-gnu".
Type"showconfiguration"forconfigurationdetails.
Forbugreportinginstructions,pleasesee:
.
FindtheGDBmanualandotherdocumentationresourcesonlineat:
.
Forhelp,type"help".
Type"aproposword"tosearchforcommandsrelatedto"word".
(gdb)

測試代碼

#include
intminus(inta,intb){
printf("Inminus():
");
intc=a-b;
returnc;
}
intsum(inta,intb){
printf("Insum():
");
intc=a+b;
returnc;
}
voidprint(intxx,int*xxptr){
printf("Inprint():
");
printf("xxis%dandisstoredat%p.
",xx,&xx);
printf("ptrpointsto%pwhichholds%d.
",xxptr,*xxptr);
intc=sum(2,3);
intd=minus(3,2);
}

intmain(void){
intx=10;

int*ptr=&x;
printf("Inmain():
");
printf("xis%dandisstoredat%p.
",x,&x);
printf("ptrpointsto%pwhichholds%d.
",ptr,*ptr);

print(x,ptr);
return0;
}

設(shè)置斷點(diǎn)

可以在函數(shù)名和行號等上設(shè)置斷點(diǎn)。程序運(yùn)行后,到達(dá)斷點(diǎn)就會自動暫停運(yùn)行。

此時可以查看該時刻的變量值、顯示棧幀、重新設(shè)置斷點(diǎn)或重新運(yùn)行等。斷點(diǎn)命令(break)可以簡寫為b。

格式

break斷點(diǎn)

舉例

(gdb)bmain
Breakpoint1at0x758:filegdb_example.c,line9.

格式

break函數(shù)名
break行號
break文件名:行號
break文件名:函數(shù)名
break+偏移量
break-偏移量
break*地址

舉例

(gdb)bprint
Breakpoint2at0x709:filegdb_example.c,line4.
(gdb)bgdb_example.c:5
Breakpoint3at0x715:filegdb_example.c,line5.
(gdb)b+3
Note:breakpoint2alsosetatpc0x709.
Breakpoint4at0x709:filegdb_example.c,line4.
(gdb)b*0x709
Note:breakpoints2and4alsosetatpc0x709.
Breakpoint5at0x709:filegdb_example.c,line4.
(gdb)

上面的例子分別對print函數(shù),gdb_example.c第5行,現(xiàn)在暫停位置往后第3行,地址0x709設(shè)置斷點(diǎn)。

設(shè)置好的斷點(diǎn)可以通過info break 確認(rèn)

(gdb)infobreak
NumTypeDispEnbAddressWhat
1breakpointkeepy0x0000000000000758inmainatgdb_example.c:9
2breakpointkeepy0x0000000000000709inprintatgdb_example.c:4
3breakpointkeepy0x0000000000000715inprintatgdb_example.c:5
4breakpointkeepy0x0000000000000709inprintatgdb_example.c:4
5breakpointkeepy0x0000000000000709inprintatgdb_example.c:4

顯示棧幀

backtrace命令可以在遇到斷點(diǎn)而暫停執(zhí)行時顯示棧幀。該命令簡寫為bt。此外, backtrace的別名還有where和info stack(簡寫為info s)。

backtrace
bt

顯示所有棧幀

backtraceN
btN

只顯示開頭N個棧幀

backtrace-N
bt-N

只顯示最后N個棧幀

backtracefull
btfull
backtracefullN
btfullN
backtracefull-N
btfull-N

舉例

(gdb)b4
Breakpoint1at0x714:filegdb_example.c,line4.
(gdb)r
Startingprogram:/home/zhongyi/code/example/gdb_example
Inmain():
xis10andisstoredat0x7fffffffe2fc.
ptrpointsto0x7fffffffe2fcwhichholds10.
Inprint():
xxis10andisstoredat0x7fffffffe2cc.
ptrpointsto0x7fffffffe2fcwhichholds10.
Insum():
Inminus():

Breakpoint1,minus(a=3,b=2)atgdb_example.c:4
4intc=a-b;
#顯示棧幀
(gdb)bt
#0minus(a=3,b=2)atgdb_example.c:4
#10x00005555555547c0inprint(xx=10,xxptr=0x7fffffffe2fc)atgdb_example.c:17
#20x0000555555554841inmain()atgdb_example.c:28
#只顯示前2個棧幀
(gdb)bt2
#0minus(a=3,b=2)atgdb_example.c:4
#10x00005555555547c0inprint(xx=10,xxptr=0x7fffffffe2fc)atgdb_example.c:17
(Morestackframesfollow...)
#從外向內(nèi)顯示2個棧幀,及其局部變量
(gdb)btfull-2
#10x00005555555547c0inprint(xx=10,xxptr=0x7fffffffe2fc)atgdb_example.c:17
c=5
d=21845
#20x0000555555554841inmain()atgdb_example.c:28
x=10
ptr=0x7fffffffe2fc
(gdb)

顯示棧幀后,就可以確認(rèn)程序在何處停止,及程序的調(diào)用路徑。

顯示變量

格式

print變量

舉例

(gdb)px
$1=10
(gdb)pptr
$2=(int*)0x7fffffffe2fc
(gdb)

顯示寄存器

舉例

(gdb)inforeg
rax0xc12
rbx0x00
rcx0x7ffff7af2104140737348837636
rdx0x7ffff7dcf8c0140737351841984
rsi0x55555575626093824994337376
rdi0x11
rbp0x7fffffffe3100x7fffffffe310
rsp0x7fffffffe2f00x7fffffffe2f0
r80x7ffff7fe14c0140737354011840
r90x00
r100x00
r110x246582
r120x5555555545f093824992232944
r130x7fffffffe3f0140737488348144
r140x00
r150x00
rip0x5555555548410x555555554841
eflags0x202[IF]
cs0x3351
ss0x2b43
ds0x00
es0x00
fs0x00
gs0x00

寄存器前加$,可以顯示寄存器的內(nèi)容。

(gdb)p$rdi
$7=1
(gdb)p$rax
$8=12
(gdb)

顯示寄存器可以用以下格式

p/格式 變量

格式 說明
x 顯示為16進(jìn)制數(shù)
d 顯示為十進(jìn)制數(shù)
u 顯示為無符號十進(jìn)制數(shù)
o 顯示為八進(jìn)制數(shù)
t 顯示為二進(jìn)制數(shù)
a 地址
c 顯示為ascii
f 浮點(diǎn)小數(shù)
s 顯示為字符串
i 顯示為機(jī)器語言(僅在顯示內(nèi)存的x命令中可用)

顯示內(nèi)存

x命令可以顯示內(nèi)存的內(nèi)容

格式

x/格式地址

舉例

(gdb)x$r12
0x5555555545f0<_start>:xor%ebp,%ebp
(gdb)x$r8
0x7ffff7fe14c0:rclb$0xf7,(%rsi,%rdi,8)
(gdb)

x/i 可以顯示匯編指令。一般用x命令時,格式為x/NFU ADDR。此處ADDR為希望顯示的地址,N為重復(fù)次數(shù)。F為前面講過的格式,u代表的單位如下。

單位 說明
b 字節(jié)
h 半字(2字節(jié))
w 字(4字節(jié))
g 雙字(8字節(jié))

下面顯示從rsp開始的10條指令。

(gdb)x/10i$rsp
0x7fffffffe2f0:(bad)
0x7fffffffe2f1:rex.Wpush%rbp
0x7fffffffe2f3:push%rbp
0x7fffffffe2f4:push%rbp
0x7fffffffe2f5:push%rbp
0x7fffffffe2f6:add%al,(%rax)
0x7fffffffe2f8:lockrex.RBpush%r13
0x7fffffffe2fb:push%rbp
0x7fffffffe2fc:or(%rax),%al
0x7fffffffe2fe:add%al,(%rax)

顯示反匯編

格式

disassemble
disassemble程序計數(shù)器
disassemble開始地址結(jié)束地址

格式1為反匯編當(dāng)前整個函數(shù),2為反匯編程序計數(shù)器所在函數(shù)的整個函數(shù)。3為反匯編從開始地址到結(jié)束地址的部分。

(gdb)disassemble
Dumpofassemblercodeforfunctionsum:
0x0000555555554722<+0>:push%rbp
0x0000555555554723<+1>:mov%rsp,%rbp
0x0000555555554726<+4>:sub$0x20,%rsp
0x000055555555472a<+8>:mov%edi,-0x14(%rbp)
0x000055555555472d<+11>:mov%esi,-0x18(%rbp)
0x0000555555554730<+14>:lea0x1bd(%rip),%rdi#0x5555555548f4
0x0000555555554737<+21>:callq0x5555555545b0
=>0x000055555555473c<+26>:mov-0x14(%rbp),%edx
0x000055555555473f<+29>:mov-0x18(%rbp),%eax
0x0000555555554742<+32>:add%edx,%eax
0x0000555555554744<+34>:mov%eax,-0x4(%rbp)
0x0000555555554747<+37>:mov-0x4(%rbp),%eax
0x000055555555474a<+40>:leaveq
0x000055555555474b<+41>:retq
Endofassemblerdump.

單步執(zhí)行

執(zhí)行源代碼中的一行:next
進(jìn)入函數(shù)內(nèi)部執(zhí)行:step
逐條執(zhí)行匯編指令:nexti,stepi

繼續(xù)運(yùn)行

格式

continue
continue次數(shù)

指定次數(shù)可以忽略斷點(diǎn),例如,continue 5 則5次遇到斷點(diǎn)不會停止,第6次遇到斷點(diǎn)才會停止。

監(jiān)視點(diǎn)

格式

watch<表達(dá)式>

<表達(dá)式>發(fā)生變化時暫停運(yùn)行,<表達(dá)式>意思是常量或變量

awatch<表達(dá)式>

<表達(dá)式>被訪問,改變時暫停運(yùn)行

rwatch<表達(dá)式>

<表達(dá)式>被訪問時暫停運(yùn)行

舉例

(gdb)watchc
Hardwarewatchpoint2:c
(gdb)c
Continuing.

Hardwarewatchpoint2:c

Oldvalue=21845
Newvalue=5
sum(a=2,b=3)atgdb_example.c:10
10returnc;
(gdb)

格式

刪除斷點(diǎn)和監(jiān)視點(diǎn)

delete<編號>

<編號>指的是斷點(diǎn)或監(jiān)視點(diǎn)

舉例

(gdb)infob
NumTypeDispEnbAddressWhat
1breakpointkeepy0x000055555555473cinsumatgdb_example.c:9
breakpointalreadyhit1time
2hwwatchpointkeepyc
breakpointalreadyhit1time
(gdb)delete2
(gdb)infob
NumTypeDispEnbAddressWhat
1breakpointkeepy0x000055555555473cinsumatgdb_example.c:9
breakpointalreadyhit1time
(gdb)

改變變量的值

格式

setvariable<變量>=<表達(dá)式>

舉例

(gdb)pc
$1=5
(gdb)setvariablec=0
(gdb)pc
$2=0
(gdb)

生成內(nèi)核轉(zhuǎn)儲文件

(gdb)generate-core-file
warning:Memoryreadfailedforcorefilesection,4096bytesat0xffffffffff600000.
Savedcorefilecore.2380

有了內(nèi)核轉(zhuǎn)儲文件,即使退出了GDB也能查看生成轉(zhuǎn)儲文件時的運(yùn)行歷史。

gcore'pidofgdb_example'

該命令無需停止正在運(yùn)行的程序,可以直接從命令行直接生成轉(zhuǎn)儲文件。當(dāng)需要在其他機(jī)器上單獨(dú)分析問題原因時,或者是分析客戶現(xiàn)場問題時十分有用。

條件斷點(diǎn)

break斷點(diǎn)if條件

如果條件為真,則暫停運(yùn)行

condition斷點(diǎn)編號
condition斷點(diǎn)編號條件

第一條指令刪除指定斷點(diǎn)編號的觸發(fā)條件,第二條指令給斷點(diǎn)添加觸發(fā)條件

反復(fù)執(zhí)行

ignore斷點(diǎn)編號次數(shù)

在編號指定的斷點(diǎn),監(jiān)視點(diǎn)忽略指定的次數(shù)

continue與ignore一樣,也可以指定次數(shù),達(dá)到指定次數(shù)前,執(zhí)行到斷點(diǎn)時不暫停。

continue次數(shù)
step次數(shù)
stepi次數(shù)
next次數(shù)
nexti次數(shù)
finish
until
until地址

finish 執(zhí)行完當(dāng)前函數(shù)后暫停,until命令執(zhí)行完當(dāng)前函數(shù)等代碼塊后暫停,常用于跳出循環(huán)。、

刪除斷點(diǎn)或禁用斷點(diǎn)

clear
clear函數(shù)名
clear行號
clear文件名:行號
clear文件名:函數(shù)名
delete[breakpoints]斷點(diǎn)編號

clear 用于刪除已定義的斷點(diǎn)

disable[breakpoints]
disable[breakpoints]斷點(diǎn)編號
disabledisplay顯示編號
disablemem內(nèi)存區(qū)域

disable 臨時禁用斷點(diǎn)。第3種格式禁用display命令定義的自動顯示,第4種格式禁用mem命令定義的內(nèi)存區(qū)域。

enable
enable[breakpoints]斷點(diǎn)編號
enable[breakpoints]once斷點(diǎn)編號
enable[breakpoints]delete斷點(diǎn)編號
enabledisabledisplay顯示編號
enablemem內(nèi)存區(qū)域

once 使指定的斷點(diǎn)只啟用一次。delete表示在運(yùn)行暫停后刪除斷點(diǎn)。

斷點(diǎn)命令

格式

commands斷點(diǎn)編號
命令
...
end

程序在指定的斷點(diǎn)處暫停,就會自動執(zhí)行命令。

舉例

(gdb)b17
Breakpoint3at0x5555555547b1:filegdb_example.c,line17.
(gdb)command3
Typecommandsforbreakpoint(s)3,oneperline.
Endwithalinesayingjust"end".
>pc
>end
(gdb)r
Startingprogram:/home/zhongyi/code/example/gdb_example-e'p1'
Inmain():
xis10andisstoredat0x7fffffffe2ec.
ptrpointsto0x7fffffffe2ecwhichholds10.
Inprint():
xxis10andisstoredat0x7fffffffe2bc.
ptrpointsto0x7fffffffe2ecwhichholds10.
Insum():

Breakpoint3,print(xx=10,xxptr=0x7fffffffe2ec)atgdb_example.c:17
17intd=minus(3,2);
$1=5

上例表示在17行暫停后打印c的值。

與前面的條件斷點(diǎn)組合使用,可以在斷點(diǎn)暫停時執(zhí)行復(fù)雜的動作。

舉例

break17ifc==5
commands
silent
printf“xis%d
”,x
cont
end

常用命令及其縮略形式

命令 簡寫形式 說明
backtrace bt/where 顯示backtrace
break 設(shè)備斷點(diǎn)
continue c/cont 繼續(xù)運(yùn)行
delete d 刪除斷點(diǎn)
finish 運(yùn)行到函數(shù)結(jié)束
info breakpoints 顯示斷點(diǎn)信息
next n 執(zhí)行下一行
print p 顯示表達(dá)式
run r 運(yùn)行程序
step s 一次執(zhí)行一行,包括函數(shù)內(nèi)部
x 顯示內(nèi)存內(nèi)容
until u 執(zhí)行到指定行
directory dir 插入目錄
disable dis 禁用斷點(diǎn)
down do 在當(dāng)前棧幀中選擇要顯示的棧幀
edit e 編輯文件或函數(shù)
frame f 選擇要顯示的棧幀
forward-search fo 向前搜索
generate-core-file gcore 生成內(nèi)核轉(zhuǎn)儲
help h 顯示幫助文檔
info i 顯示信息
list l 顯示函數(shù)行
nexti ni 執(zhí)行下一行(以匯編代碼為單位)
print-object po 顯示目標(biāo)信息
sharedlibrary share 加載共享庫的符號
stepi si 執(zhí)行下一行

值的歷史

通過print命令顯示過的值會記錄在內(nèi)部的值歷史中,這些值可以在其他表達(dá)式中使用。

舉例

(gdb)b16
Breakpoint1at0x79f:filegdb_example.c,line16.
(gdb)b17
Breakpoint2at0x7b1:filegdb_example.c,line17.
(gdb)b29
Breakpoint3at0x841:filegdb_example.c,line29.
(gdb)r
Startingprogram:/home/zhongyi/code/example/gdb_example
Inmain():
xis10andisstoredat0x7fffffffe2fc.
ptrpointsto0x7fffffffe2fcwhichholds10.
Inprint():
xxis10andisstoredat0x7fffffffe2cc.
ptrpointsto0x7fffffffe2fcwhichholds10.

Breakpoint1,print(xx=10,xxptr=0x7fffffffe2fc)atgdb_example.c:16
16intc=sum(2,3);
(gdb)pc
$1=1431651824
(gdb)c
Continuing.
Insum():

Breakpoint2,print(xx=10,xxptr=0x7fffffffe2fc)atgdb_example.c:17
17intd=minus(3,2);
(gdb)pc
$2=5
(gdb)c
Continuing.
Inminus():

Breakpoint3,main()atgdb_example.c:29
29return0;

最后的值可以使用$ 訪問。

通過show values 可以顯示歷史中的最后10個值

舉例

(gdb)showvalues
$1=1431651824
$2=5
$3=10
$4=10
(gdb)

值的歷史的訪問變量和說明

變量 說明
$ 值歷史中的最后一個值
$n 值歷史的第n個值
$$ 值歷史的倒數(shù)第二個值
$$n 值歷史的倒數(shù)第n個值
$_ x命令顯示過的最后的地址
$__ x命令顯示過的最后的地址的值
$_exitcode 調(diào)試中的程序的返回代碼
$bpnum 最后設(shè)置的斷點(diǎn)的編號

可以隨意定義變量。變量以$開頭,有英文和數(shù)字組成。

舉例

(gdb)set$i=0
(gdb)p$i
$5=0
(gdb)

命令歷史

可以把命令保存在文件中,保存命令歷史后,就可以在其他調(diào)試會話中使用。默認(rèn)命令歷史文件位于./.gdb_history

sethistoryexpansion
showhistoryexpansion

可以使用csh風(fēng)格的!字符

sethistoryfilename文件名
showhistoryfilename

可將命令歷史保存到文件中,可以通過環(huán)境變量GDBHISTFILE改變默認(rèn)文件。

sethistorysave
showhistorysave

啟用命令歷史保存到文件和恢復(fù)的功能。

sethistorysize數(shù)字
showhistorysize

設(shè)置保存到命令歷史中的命令數(shù)量,默認(rèn)為256。

初始化文件(.gdbinit)

Linux下gdb初始化文件為.gdbinit。如果存在.gdbinit文件,GDB在啟動之前將其作為命令文件運(yùn)行。

順序如下:

$HOME/.gdbinit

運(yùn)行命令行選項(xiàng)

./.gdbinit

加載通過-x選項(xiàng)給出的命令文件

命令定義

用define可以自定義命令,用document可以給自定義的命令加說明,利用help 命令名可以查看定義的命令。

define格式:

define命令名
命令
…………
end

document格式:

document命令名
說明
end

help格式:

help命令名

以下示例定義了名為li的命令。

舉例

(gdb)defineli
Typecommandsfordefinitionof"li".
Endwithalinesayingjust"end".
>x/10i$rbp
>end
(gdb)documentli
Typedocumentationfor"li".
Endwithalinesayingjust"end".
>listmachineinstruction
>end
(gdb)li
0x7fffffffe310:(bad)
0x7fffffffe311:rex.Wpush%rbp
0x7fffffffe313:push%rbp
0x7fffffffe314:push%rbp
0x7fffffffe315:push%rbp
0x7fffffffe316:add%al,(%rax)
0x7fffffffe318:xchg%edi,(%rax,%riz,4)
0x7fffffffe31b:idiv%edi
0x7fffffffe31d:jg0x7fffffffe31f
0x7fffffffe31f:add%al,(%rcx)
(gdb)helpli
listmachineinstruction

還可以把各種設(shè)置寫在文件中,運(yùn)行調(diào)試器時讀取這些文件。

source文件名

總結(jié)

本文只是對gdb命令腳本做了一個粗淺的介紹,旨在起到拋磚引玉的效果。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124319
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2291

    瀏覽量

    96358
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    372

    瀏覽量

    24188
  • GDB調(diào)試
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    1653

原文標(biāo)題:【調(diào)試】GDB使用總結(jié)

文章出處:【微信號:嵌入式與Linux那些事,微信公眾號:嵌入式與Linux那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是GDB?GDB的基本功能和命令總結(jié)

    GDB是嵌入式軟件工程師調(diào)試用的比較多的種工具,今天就來簡單分享GDB相關(guān)命令。
    的頭像 發(fā)表于 11-07 09:15 ?4768次閱讀

    進(jìn)入gdb后可使用的gdb命令

    gdb-optionsexecutable-file 進(jìn)入gdb后可使用的gdb命令: File:裝入想要調(diào)試的可執(zhí)行文件 Cd:改變工作目錄。 Pwd:返回當(dāng)前工作目錄
    發(fā)表于 07-03 05:26

    GDB調(diào)試命令手冊

    GDB調(diào)試命令手冊,感興趣的可以下載看看。
    發(fā)表于 11-05 16:36 ?9次下載

    基于linux下自定義腳本來替代rm命令

    linux下的rm命令,功能太強(qiáng),同時又沒法撤消,為了避免誤操作,可以自定義腳本來替代rm命令。
    的頭像 發(fā)表于 02-01 18:08 ?3985次閱讀
    基于linux下自定義<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>腳本</b>來替代rm<b class='flag-5'>命令</b>

    GDB調(diào)試命令總結(jié)

    ).singal 發(fā)送信號假定你的程序已將專用的 SIGINT(鍵盤輸入,或CTRL-C;信號2)信號處理程序設(shè)置成采取某個清理動作,要想測試該信號處理程序,你可以設(shè)置斷點(diǎn)并使
    發(fā)表于 04-02 14:31 ?1271次閱讀

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

    GDB簡介 GDB(GNU Debugger)是強(qiáng)大的命令行調(diào)試工具。般的,在Window
    的頭像 發(fā)表于 10-19 09:58 ?3186次閱讀
    實(shí)例演示<b class='flag-5'>GDB</b>的使用

    109實(shí)用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說Shell腳本就是
    的頭像 發(fā)表于 03-16 08:58 ?2947次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發(fā)表于 01-11 16:50 ?4次下載

    如何在Linux命令行中運(yùn)行Python腳本

    Python 是種高級編程語言,被廣泛應(yīng)用于數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、Web 開發(fā)等領(lǐng)域。在 Linux 操作系統(tǒng)中,Python 是默認(rèn)安裝的解釋器,用戶可以通過命令行界面(CLI)
    的頭像 發(fā)表于 05-12 14:49 ?2102次閱讀

    shell腳本本身自帶的命令詳解

    除了以文件形式保存在/usr/bin下面的命令,shell腳本中還可以使用shell本身自帶的命令,即內(nèi)置命令
    的頭像 發(fā)表于 05-23 09:32 ?1472次閱讀
    shell<b class='flag-5'>腳本</b>本身自帶的<b class='flag-5'>命令</b>詳解

    在ubuntu中調(diào)試GDB

    編譯后會產(chǎn)生 gdbtest 文件 調(diào)試命令gdb xxx 會出現(xiàn) (gdb)的指示符,等待你輸入
    的頭像 發(fā)表于 07-27 16:31 ?1410次閱讀
    在ubuntu中調(diào)試<b class='flag-5'>GDB</b>

    為什么shell腳本中執(zhí)行命令要加exec?這個exec有什么作用呢?

    正常情況下,如果我們想要在shell腳本中執(zhí)行命令,我們只用將該命令原樣寫到這個shell腳本
    的頭像 發(fā)表于 08-21 09:10 ?4186次閱讀
    為什么shell<b class='flag-5'>腳本</b>中執(zhí)行<b class='flag-5'>命令</b>要加exec?這個exec有什么作用呢?

    shell腳本基本命令

    Shell腳本種可執(zhí)行文件,它包含了組用某種特定語言編寫的命令,這些命令可以被解釋器(如bash)執(zhí)行。以下是
    的頭像 發(fā)表于 11-08 10:08 ?2753次閱讀

    腳本調(diào)試工具有哪些?腳本調(diào)試工具怎么用?

    腳本調(diào)試是軟件開發(fā)過程中非常重要的環(huán),它能幫助開發(fā)者快速定位并解決代碼中的錯誤。大多數(shù)編程語言都提供了各種各樣的腳本調(diào)試工具,本文將介紹
    的頭像 發(fā)表于 12-01 14:40 ?1519次閱讀

    如何使用linux下gdb來調(diào)試python程序

    中,我們將介紹如何在Linux中使用GDB來調(diào)試Python程序。 、安裝GDB和Python調(diào)試符號 在使用GDB調(diào)試Python程序之
    的頭像 發(fā)表于 01-31 10:41 ?3230次閱讀