• <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>
            春暖花開
            雪化了,花開了,春天來了
            posts - 149,comments - 125,trackbacks - 0

            今天看的調(diào)試的這一章主要是針對多線程程序的調(diào)試。多線程程序運行的不確定性,使其調(diào)試起來就像抓蝴蝶一樣,你捉摸不透它駐足的位置。

            書中給了一些建議和方法:

            一是有計劃地對付錯誤。

            對應用程序展開適當?shù)恼{(diào)試,應該是遠在你使用調(diào)試器之前就開始了。多多使用ASSERT調(diào)試措施。(ASSERT背后的概念是安全和速度之間的交換。程序運行因此運行得比較慢,但是Debug Build的制造就是為了調(diào)試,所以可以理解)在每一個你的假設之處做檢驗工作。進入一個函數(shù)時,確認所有狀態(tài)。不要只是檢查指針是否合法;如果可能,檢查一下指針所指的結(jié)構(gòu)中的數(shù)據(jù)是否一致。

            二是Bench Testing

            其實這種方法就是先撇開多線程的環(huán)境,測試程序邏輯的正確性。如果OK了,然后再考慮與線程相關的東西。

            三是線程對話框

            這里主要討論了對一個特定的線程如何調(diào)試,方法是掛起所有的線程——除了我們關注的那個。書中介紹的方法在vs 2005我沒有找到。

            四是日志記錄

            這里主要是在控制臺窗口顯示一些運行信息,我們可以使用printf等函數(shù)在控制臺輸出一些信息來查看線程的運行次序。

            五是內(nèi)存記號

            使用內(nèi)存記號的好處就是降低彼此干擾的可能性。但是也要注意它不是同步操作,可能會因為兩個線程的同時寫入引來問題。

            六是硬件調(diào)試寄存器

             

            前面的這六種方法我也只用過三種,有一些還真是第一次見到。不過不怕下次搞不定問題的時候可以拿來進行嘗試,來抓一抓隱藏在程序中的“臭蟲們”。

             

            成功消除多線程程序的“臭蟲”,作者說需要具備三種素養(yǎng):決心、耐心、創(chuàng)造力。同時也不要蠻干,要采用科學的方法:觀察、預測、測試。

             

            總結(jié)一下:借助方法,觀察現(xiàn)象,大膽預測,勇敢嘗試,完備測試。

             

            項目中也碰到了多線程的使用。未來可能多線程的使用會越來越多,不能停留在完成功能和任務上,應該多思考多測試。避免多線程的不可確定性帶來的一些困擾。

             

            學習書籍:《Win32 多線程程序設計》侯捷譯

            posted on 2009-08-21 17:19 Sandy 閱讀(1815) 評論(2)  編輯 收藏 引用 所屬分類: windows學習

            FeedBack:
            # re: 多線程程序中的調(diào)試
            2009-10-28 20:55 | liujinbyte
            提供了很好的幾個思路, 謝謝!  回復  更多評論
              
            # re: 多線程程序中的調(diào)試
            2010-05-31 23:38 | Apple
            很多人都喜歡幾米的畫,我看過好幾個技術博客,都有幾米的畫  回復  更多評論
              
            中文字幕亚洲综合久久| 久久无码AV中文出轨人妻| 一本一本久久aa综合精品| 久久久一本精品99久久精品66| 久久久av波多野一区二区| 久久婷婷五月综合色99啪ak| 久久亚洲精品无码aⅴ大香| 国内精品伊人久久久久av一坑 | 免费一级做a爰片久久毛片潮| 无码人妻久久一区二区三区蜜桃| 精品多毛少妇人妻AV免费久久| 国产精品9999久久久久| 色综合久久久久综合99| 久久狠狠色狠狠色综合| 波多野结衣久久| 国产精品青草久久久久福利99| 亚洲精品蜜桃久久久久久| 久久精品国产一区二区| AV无码久久久久不卡蜜桃| 久久99热这里只有精品66| 国产高清美女一级a毛片久久w| 精品久久久无码21p发布| 久久涩综合| 精品国产热久久久福利| 久久亚洲精品中文字幕三区| 国产精品久久久久…| 久久久久久国产精品免费无码 | 久久国产精品99国产精| 精产国品久久一二三产区区别| 久久久久国产| 国产日韩欧美久久| 欧美日韩中文字幕久久伊人| 狠狠狠色丁香婷婷综合久久五月| 亚洲午夜久久久久久噜噜噜| 亚洲中文久久精品无码ww16 | 成人久久久观看免费毛片| 欧美成人免费观看久久| 久久嫩草影院免费看夜色| 久久精品女人天堂AV麻| 欧美久久久久久午夜精品| 一级做a爰片久久毛片看看|