gdb ps

GDBhtml

一、調試core  ulimit -c ulimitedlinux

產生段錯誤,目錄下有core文件, gdb a.out core數組

二、ps經常使用命令http://linux.cn/article-4743-1.htmlspa

  pstree,進程ps -aux,查看線程ps -eLf線程

調試線程,gdb中info thread調試

            thread 9htm

三、查看數組進程

    (1)動態數組:
    p *array@len 
    array:數組的首地址,len:數據的長度
eg:
    (gdb) p *array@len
    $1 = {2, 4, 6, 8, 10}
    
    (2)靜態數組
    能夠直接用print數組名,就能夠顯示數組中全部數據的內容了。
 
四、輸出格式
    x 按十六進制格式顯示變量。
    d 按十進制格式顯示變量。
    u 按十六進制格式顯示無符號整型。
    o 按八進制格式顯示變量。
    t 按二進制格式顯示變量。
    a 按十六進制格式顯示變量。
    c 按字符格式顯示變量。
    f 按浮點數格式顯示變量。
eg.  (gdb)p/x var
 
五、查看內存
  x/
    n、f、u是可選的參數。
    (1)n 數量
    (2)f 表示顯示的格式,參見上面。若是地址所指的是字符串,那麼格式能夠是s,若是地十是指令地址,那麼格式能夠是i。
    (3)u 默認4個bytes。b表示單字節,h表示雙字節,w表示四字 節,g表示八字節。
eg:
    x/3uh 0x54320 :從內存地址0x54320讀取內容,h表示以雙字節爲一個單位,3表示三個單位,u表示按十六進制顯示。
 
六、多進程調試
(1)用法:set follow-fork-mode [parent|child]
(2)用法:set detach-on-fork [on|off]
    on: 只調試父進程或子進程的其中一個(根據follow-fork-mode來決定),這是默認的模式。
    off: 父子進程都在gdb的控制,其中一個進程正常調試(根據follow-fork-mode來決定),另外一個進程會被設置爲暫停。
 (3)attach
相關文章
相關標籤/搜索