• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            gdb多線程調試1

            gdb對于多線程程序的調試有如下的支持:
              
              線程產生通知:在產生新的線程時, gdb會給出提示信息
              (gdb) r
              Starting program: /root/thread 
              [New Thread 1073951360 (LWP 12900)] 
              [New Thread 1082342592 (LWP 12907)]---以下三個為新產生的線程
              [New Thread 1090731072 (LWP 12908)]
              [New Thread 1099119552 (LWP 12909)]
              
              查看線程:使用info threads可以查看運行的線程。
              (gdb) info threads
               4 Thread 1099119552 (LWP 12940) 0xffffe002 in ?? ()
               3 Thread 1090731072 (LWP 12939) 0xffffe002 in ?? ()
               2 Thread 1082342592 (LWP 12938) 0xffffe002 in ?? ()
              * 1 Thread 1073951360 (LWP 12931) main (argc=1, argv=0xbfffda04) at thread.c:21
              (gdb) 
              
              
              注意,行首的藍色文字為gdb分配的線程號,對線程進行切換時,使用該該號碼,而不是上文標出的綠色數字。
              
              另外,行首的紅色星號標識了當前活動的線程
              
              切換線程:使用 thread THREADNUMBER 進行切換,THREADNUMBER 為上文提到的線程號。下例顯示將活動線程從 1 切換至 4。
              (gdb) info threads
               4 Thread 1099119552 (LWP 12940) 0xffffe002 in ?? ()
               3 Thread 1090731072 (LWP 12939) 0xffffe002 in ?? ()
               2 Thread 1082342592 (LWP 12938) 0xffffe002 in ?? ()
              * 1 Thread 1073951360 (LWP 12931) main (argc=1, argv=0xbfffda04) at thread.c:21
              (gdb) thread 4
              [Switching to thread 4 (Thread 1099119552 (LWP 12940))]#0 0xffffe002 in ?? ()
              (gdb) info threads
              * 4 Thread 1099119552 (LWP 12940) 0xffffe002 in ?? ()
               3 Thread 1090731072 (LWP 12939) 0xffffe002 in ?? ()
               2 Thread 1082342592 (LWP 12938) 0xffffe002 in ?? ()
               1 Thread 1073951360 (LWP 12931) main (argc=1, argv=0xbfffda04) at thread.c:21
              (gdb) 
              
              
               以上即為使用gdb提供的對多線程進行調試的一些基本命令。另外,gdb也提供對線程的斷點設置以及對指定或所有線程發布命令的命令。
              
               初次接觸gdb下多線程的調試,往往會忽視gdb中活動線程的概念。一般來講,在使用gdb調試的時候,只有一個線程為活動線程,如果希望得到其他的線程的輸出結果,必須使用thread命令切換至指定的線程,才能對該線程進行調試或觀察輸出結果。


            posted on 2010-08-02 11:41 葉子 閱讀(1906) 評論(0)  編輯 收藏 引用 所屬分類: Unix

            亚洲精品国精品久久99热| 久久93精品国产91久久综合| 亚洲国产天堂久久综合| 久久亚洲精品国产亚洲老地址| AV无码久久久久不卡网站下载| 青青草原1769久久免费播放| 久久综合精品国产一区二区三区| 伊人精品久久久久7777| 久久久久久国产精品免费无码| 国产成人久久777777| 亚洲精品成人久久久| 久久国产乱子精品免费女| 亚洲国产成人精品91久久久| 国产成人无码久久久精品一| 久久99国产一区二区三区| 久久精品人人做人人爽电影| 久久精品国产半推半就| 国内高清久久久久久| 看全色黄大色大片免费久久久| 狠狠狠色丁香婷婷综合久久五月 | 精品久久久久久中文字幕人妻最新| 亚洲色大成网站www久久九| 久久午夜羞羞影院免费观看| 久久久久国产一区二区三区| 91精品国产高清91久久久久久| 中文字幕无码久久人妻| 国产精品美女久久久久AV福利| 中文字幕亚洲综合久久菠萝蜜| 欧美激情精品久久久久| 午夜欧美精品久久久久久久| 一本色道久久综合狠狠躁篇 | 狠狠色丁香婷婷综合久久来来去 | 亚洲国产一成人久久精品| 精品久久久久久无码人妻蜜桃 | 国产精品乱码久久久久久软件| 91亚洲国产成人久久精品网址 | 久久精品一区二区国产| 伊人久久久AV老熟妇色| 精品久久人人爽天天玩人人妻| 久久婷婷五月综合色奶水99啪| 中文精品99久久国产|