日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何在Linux上啟動(dòng)并使用gdb調(diào)試程序(linux啟動(dòng)gdb)

GDB是GNU調(diào)試器的縮寫(xiě),是常用的開(kāi)源調(diào)試工具。使用GDB可以幫助開(kāi)發(fā)人員對(duì)程序進(jìn)行調(diào)試、查找錯(cuò)誤和跟蹤程序的正確性。

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè)|網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋花箱等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身設(shè)計(jì)品質(zhì)網(wǎng)站。

在Linux上,GDB是默認(rèn)安裝的工具,而且它可以用于調(diào)試各種編程語(yǔ)言的程序,比如C、C++、Python等。在本文中,我們將詳細(xì)介紹如何在Linux上啟動(dòng)并使用GDB調(diào)試程序。

步驟1:編譯程序

在開(kāi)始GDB調(diào)試之前,我們需要先編譯程序。通常情況下,我們建議使用GCC編譯器來(lái)編譯程序。以下是使用GCC編譯C程序的示例命令:

“`

gcc -g -o hello hello.c

“`

其中,`-g`選項(xiàng)啟用了編譯器的調(diào)試信息選項(xiàng),以便GDB可以讀取并使用這些信息。

步驟2:?jiǎn)?dòng)GDB

啟動(dòng)GDB有兩種方式:

方式一:在命令行中啟動(dòng)

使用以下命令在命令行中啟動(dòng)GDB:

“`

gdb ./hello

“`

其中,`./hello`是你要調(diào)試的程序文件。

方式二:在GDB中啟動(dòng)

使用以下命令在GDB中啟動(dòng)程序:

“`

gdb

“`

然后,使用GDB的`file`命令加載程序,如下所示:

“`

file ./hello

“`

步驟3:設(shè)置斷點(diǎn)

在程序中設(shè)置斷點(diǎn)是調(diào)試的之一步。在GDB中,我們可以使用`break`命令在程序中設(shè)置斷點(diǎn)。以下是一個(gè)設(shè)置斷點(diǎn)的示例:

“`

break mn

“`

這會(huì)在程序中的`mn`函數(shù)中設(shè)置一個(gè)斷點(diǎn)。

您還可以使用行號(hào)設(shè)置斷點(diǎn),如下所示:

“`

break 10

“`

這會(huì)在程序的第10行設(shè)置一個(gè)斷點(diǎn)。

步驟4:運(yùn)行程序

一旦設(shè)置了斷點(diǎn),我們就可以運(yùn)行程序了。在GDB中,您可以使用`run`命令運(yùn)行程序。例如:

“`

run

“`

當(dāng)程序運(yùn)行時(shí),GDB會(huì)停在之一個(gè)斷點(diǎn)處。

步驟5:查看程序狀態(tài)

一旦程序運(yùn)行并停在之一個(gè)斷點(diǎn)處,您可以使用以下命令查看程序的狀態(tài):

– `list`:顯示程序的源代碼

– `info locals`:顯示本地變量的值

– `info registers`:顯示寄存器的當(dāng)前值

– `info breakpoints`:顯示當(dāng)前設(shè)置的斷點(diǎn)

步驟6:?jiǎn)尾綀?zhí)行

一旦程序開(kāi)始運(yùn)行,您可以使用`next`命令單步執(zhí)行程序。它會(huì)將控制權(quán)轉(zhuǎn)移到下一條語(yǔ)句處。例如:

“`

next

“`

使用該命令以單步方式執(zhí)行程序?qū)⒂兄谀业藉e(cuò)誤并檢查程序的各個(gè)部分。

步驟7:繼續(xù)執(zhí)行

要繼續(xù)執(zhí)行程序,您可以使用`continue`命令。例如:

“`

continue

“`

步驟8:退出GDB

要退出GDB,您可以使用`quit`命令。例如:

“`

quit

“`

這是調(diào)試結(jié)束后非常重要的一步,以確保GDB和程序同時(shí)退出。

結(jié)論

在本文中,我們?cè)敿?xì)介紹了如何在Linux上使用GDB調(diào)試程序。學(xué)習(xí)如何設(shè)置斷點(diǎn)、單步執(zhí)行和繼續(xù)執(zhí)行程序,以及如何使用各種命令查看程序的狀態(tài),將幫助開(kāi)發(fā)人員在程序中找到錯(cuò)誤并調(diào)試程序。

相關(guān)問(wèn)題拓展閱讀:

  • [轉(zhuǎn)載] 從正在運(yùn)行的Linux進(jìn)程中dump出內(nèi)存內(nèi)容
  • linux gdb怎么使用?

[轉(zhuǎn)載] 從正在運(yùn)行的Linux進(jìn)程中dump出內(nèi)存內(nèi)容

最近看到有個(gè)CTF題感覺(jué)挺有意思,就團(tuán)盯晌是從一個(gè)bin中找到一個(gè)secret key,然后用來(lái)簽名session cookies用來(lái)懟一個(gè)使用go的Web服務(wù)器。通常這種類型題的flag都比較直接??梢灾苯佑胹trings懟這個(gè)bin就可以了,然而這次的這個(gè)題目中的bin不同,因?yàn)橛刑嚯s碎(noise)要過(guò)濾了。于是在此我就來(lái)展示一下如何用一些基本的Linux命令配合gdb從進(jìn)程中dump出內(nèi)存中的信息。

先f(wàn)ile一下,

發(fā)現(xiàn)是64位的Linux可執(zhí)行文件。

然后strings一下,

發(fā)現(xiàn)字符串太多,還是先不看,再研究深一點(diǎn)吧。

然后先運(yùn)行一下程序,

然后再另一個(gè)終端找到這個(gè)進(jìn)程的PID

然后cat一下它的內(nèi)存(太長(zhǎng)不看TL;DR)

似乎太多了有點(diǎn)可怕,但是不用害怕。

然后啟動(dòng)gdb,將改進(jìn)程attach到gdb上。

然后就是gdb命令

解釋一下語(yǔ)法:

然后就是用strings命令找出剛才dump出的文件的字符串,我喜歡最少10個(gè)長(zhǎng)度的字符串(-n 10)來(lái)過(guò)濾掉一些無(wú)用的信息(noise)。

結(jié)果如下:

可以看到好像有個(gè)hash值,為了不泄露CTF題的答案,我已經(jīng)把hash值改了。

總結(jié)

好了,你已經(jīng)找到運(yùn)行的進(jìn)程的PID,dump出了那個(gè)進(jìn)程的內(nèi)存內(nèi)容,然后用gdb,strings命令找出了有用的數(shù)據(jù)。

以上翻譯自:

Let’s get your hands dirty

Down to business

于是我也想試一下啊,然而我想找一個(gè)執(zhí)行命令之后不退出的進(jìn)則空程還蠻難的,最終我想到了apache,然而必須要有客戶端與apache建立TCP長(zhǎng)連接,如果是那種5xx的錯(cuò)誤,比如這個(gè),

就會(huì)發(fā)現(xiàn)TCP連接建立之后馬上又?jǐn)嚅_(kāi)了。

于是只能弄一個(gè)TCP長(zhǎng)連接吧。返回200的那種應(yīng)該可以。

結(jié)果發(fā)塌鋒現(xiàn)還是不行。

于是通過(guò)htop漫無(wú)目的地找吧,于是還是找apache的主進(jìn)程吧。

通過(guò)htop發(fā)信apache的主進(jìn)程的PID為6900,

于是

(注意:要以root的身份啟動(dòng),否則可能沒(méi)有權(quán)限。)

然后gdb就開(kāi)始調(diào)試6900進(jìn)程了,一頓輸出啊,幾秒之后到達(dá)gdb的命令行。

然后dump出heap中的內(nèi)容。

然后在/root目錄找到了那兩個(gè)dump出來(lái)的文件,

從任意一個(gè)dump中找出10個(gè)字符以上的字符串吧。

————————————————

原文鏈接:

linux gdb怎么使用?

這可以段態(tài)寫(xiě)一本書(shū),名字就是“GDB && Debuger” ,標(biāo)上¥99.9的價(jià)格,然后去當(dāng)當(dāng)握蔽源,或者卓越上架,打七折,合約¥70.0,就可以買(mǎi)到;

您給了多少并局分?5分!?。?/p>

沒(méi)用過(guò)

linux啟動(dòng)gdb的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux啟動(dòng)gdb,如何在Linux上啟動(dòng)并使用gdb調(diào)試程序,[轉(zhuǎn)載] 從正在運(yùn)行的Linux進(jìn)程中dump出內(nèi)存內(nèi)容,linux gdb怎么使用?的信息別忘了在本站進(jìn)行查找喔。

成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。


網(wǎng)站題目:如何在Linux上啟動(dòng)并使用gdb調(diào)試程序(linux啟動(dòng)gdb)
新聞來(lái)源:http://m.5511xx.com/article/djspgid.html