1、當然,你可以使用時間延遲的方法,在子進程fork出來之后,使用Sleep函數(shù)等待一段時間再運行,在這段時間中你使用ps找到該進程,然后使用Attach方法把該進程附加到gdb中,從而達到可以調(diào)試子進程的目的。

十多年的扶風網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整扶風建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“扶風網(wǎng)站設計”,“扶風網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
2、但是對于代碼量較大的程序,里邊包含N多函數(shù)調(diào)用,N多數(shù)組指針訪問,這時想定位問題就不是很容易了(此時牛人依然可以通過在適當位置打printf加二分查找的方式迅速定位:P)。懶人的話還是直接GDB搞起吧。
3、Attach子進程眾所周知,GDB有附著(attach)到正在運行的進程的功能,即attach pid命令。因此我們可以利用該命令attach到子進程然后進行調(diào)試。
4、在60版Linux內(nèi)核及以后,GDB對使用fork/vfork創(chuàng)建子進程的程序提供了follow-fork-mode選項來支持多進程調(diào)試。
5、設置solib-search-path可以指定多個路徑,路徑之間用:隔開。在多線程的環(huán)境下,可以用info threads顯示所有線程,thread指定線程為當前線程。
6、得用gdb,加上-g還是需要的。生成的可執(zhí)行文件為a.out 第二步 讓gdb連接到正在執(zhí)行的進程上去 首先運行程序。./a.out 明顯的,是一個死循環(huán)。
gdbstub可以使得Bochs程序在本地1234網(wǎng)絡端口偵聽接收gdb的命令,并且向gdb發(fā)送命令執(zhí)行結(jié)果。從而我們可以利用gdb對Linux 0.11內(nèi)核進行C語言級的調(diào)試。當然,Linux 0.11內(nèi)核也需要進行使用-g選項重新編譯。
1: 對于在應用程序中加入?yún)?shù)進行調(diào)試的方法: 直接用 gdb app -p1 -p2 這樣進行調(diào)試是不行的。
在gdb調(diào)試中gdb默認需要關閉linux的地址隨機化功能,可以通過gdb 命令set disable-randomization off關閉。 如果在地址隨機化下調(diào)試同一段程序,多次run時候可以看到它的運行地址和函數(shù)地址不一致,這沒有什么太大的問題。
1: 對于在應用程序中加入?yún)?shù)進行調(diào)試的方法: 直接用 gdb app -p1 -p2 這樣進行調(diào)試是不行的。
一般來說GDB主要調(diào)試的是C/C++的程序。要調(diào)試C/C++的程序,首先在編譯時,我們必須要把調(diào)試信息加到可執(zhí)行文件中。使用編譯器(cc/gcc/g++)的 -g 參數(shù)可以做到這一點。
從調(diào)試的角度來看,使用 GAS 的好處是可以在生成的目標代碼中包含符號表(symbol table),這樣就可以使用 GDB 和 DDD 來進行源碼級的調(diào)試了。
斷點(break point)是程序執(zhí)行中的一個位置。在gdb中,當程序運行到該位置時,程序會暫停,我們可以查看此時的程序狀況,比如變量的值。
直接編譯成exe,不過編譯的時候要加入調(diào)試信息。
安裝gdb方式,sudo apt-get install gdb ,有ok點擊ok安裝,直到安裝結(jié)束。gcc -g aa.c之后才能調(diào)試a.out文件。
網(wǎng)站標題:go語言gdb調(diào)試教程 go語言 調(diào)試
本文來源:http://chinadenli.net/article18/dsjdpgp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、企業(yè)建站、動態(tài)網(wǎng)站、網(wǎng)站策劃、App設計、移動網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)