專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)漣水免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1,多個(gè)源文件gdb時(shí)如何在指定的某個(gè)文件中設(shè)置斷點(diǎn)
有兩種辦法, 1 利用 源文件+行號(hào)設(shè)置斷點(diǎn), 2 readelf -wi test > test.wi 在test.wi總查找你想設(shè)置斷點(diǎn)的方法名稱,然后能夠找到這個(gè)方法對(duì)應(yīng)的mangle以后的符號(hào)名稱,在GDB中,用這個(gè)符號(hào)名稱設(shè)置斷點(diǎn)就可以了。2,gdb是什么命令跳到下一個(gè)斷點(diǎn)
最新的沒有用過,以前版本的qtcreator有過那樣的bug,就是必須額外設(shè)置一個(gè)無用斷點(diǎn)。鼠標(biāo)所在的地方是可以顯示那個(gè)變量的值的,顯示不出來應(yīng)該是環(huán)境配置有問題。qt我一直用自己編譯的,官方的開源版總是有些稀奇古怪的問題,我也搞不清為什么。3,Linux下GDB調(diào)試怎么設(shè)置內(nèi)存訪問斷點(diǎn)
設(shè)置內(nèi)存訪問斷點(diǎn)
Watch *(int *)0x80c1b50
利用layout顯示匯編代碼窗口
(gdb) layout asm
http://blog.csdn.net/mergerly/article/details/8538272
利用ni(nexti)或si(stepi)命令進(jìn)行匯編指令級(jí)的調(diào)試4,linux下gdb調(diào)試設(shè)置斷點(diǎn)的問題
確認(rèn)編譯時(shí)有-g選項(xiàng),否則不能用。如果已經(jīng)有了,沒有重名的文件,直接b xxx.c:22或者b 函數(shù)名設(shè)置內(nèi)存訪問斷點(diǎn)watch *(int *)0x80c1b50利用layout顯示匯編代碼窗口(gdb) layout asm http://blog.csdn.net/mergerly/article/details/8538272利用ni(nexti)或si(stepi)命令進(jìn)行匯編指令級(jí)的調(diào)試
5,GDB在字符串上怎么設(shè)條件斷點(diǎn)
#include #include int main(void) int i =0; char *a[3]=for(i=0;i<3;i++) printf("a=[%s]\n", a[i]); }return 0;You can use strcmp:break x:20 if strcmp(y, "hello") == 020 is line number, x can be any filename and y can be any variable.
分享題目:gdb設(shè)置斷點(diǎn),多個(gè)源文件gdb時(shí)如何在指定的某個(gè)文件中設(shè)置斷點(diǎn)
文章地址:
http://weahome.cn/article/idiiij.html