• <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>
            隨筆 - 64, 文章 - 11, 評論 - 12, 引用 - 0
            數(shù)據(jù)加載中……

            由visual studio 編譯優(yōu)化而獲得的啟示

                    今天,在運行目前正在維護的產(chǎn)品后,我發(fā)現(xiàn)產(chǎn)品在跑完個別的測試用例后,出現(xiàn)了大量的內(nèi)存泄漏。從visual studio 2008的輸出中看不到具體是哪個文件的new操作引起,在DEBUG版本中看不到是由哪個new分配的內(nèi)存泄漏的原因是文件中沒有如下的宏。

            #ifdef _DEBUG

            #define new DEBUG_NEW

            #undef THIS_FILE

            static char THIS_FILE[] = __FILE__;

            #endif

            由于項目中的文件較多,如果到一個一個文件中去找,那是件枯燥而且乏味的工作, 而且難保不會有遺漏。所以我編寫了腳本來報告沒有這幾句的文件。

                     通過在文件中加上了上述的宏,我再次重新運行剛才產(chǎn)生內(nèi)存泄漏的測試用例。這次我定位了泄漏的內(nèi)存分配語句。所以為了調(diào)試上的方便,我們應(yīng)保證文件中有如上的宏。找到了相關(guān)的分配語句就離解決這個錯誤近了,現(xiàn)在就是要找出遺漏的釋放點。

                     為了使用我以前安裝的共享版內(nèi)存泄漏檢測工具,我將系統(tǒng)的時間改成6月份。可惜還是提示過了試用期不讓使用,所以還得靠自己。通過查閱代碼,找出了幾個可疑點,分別加上了恰當?shù)恼Z句,按一下build 后,剛巧有事就離開了。回來后發(fā)現(xiàn)看看沒有編譯錯誤,于是再測試用例,結(jié)果還是出現(xiàn)泄漏。于是我加上調(diào)試斷點來分析,可是程序根本不在斷點處停止。這讓我著實驚訝,難道程序并不經(jīng)過這些斷點? 再放置幾個斷點,依然不停住,最后就在InitInstance()函數(shù)中放一斷點,可還是不停住。這時我才恍然大悟這個exe文件與代碼不一致。于是改回系統(tǒng)時間,重新build。再次運行,程序在斷點處停住,運行相應(yīng)的測試用例,也不再有內(nèi)存泄漏。

                     在這個過程中,由于visual studio的編譯行為所采用的時間比較來決定編譯的行為及本人的粗心讓我浪費了一些時間和精力。這也提示我們在設(shè)計軟件時,對于優(yōu)化行為應(yīng)多加考慮,行為的優(yōu)化是否符合了用戶的企圖,如果與用戶的動作不符合,則應(yīng)給用戶提示并得到用戶的指示。

            posted on 2009-07-23 16:01 Robertxiao 閱讀(521) 評論(0)  編輯 收藏 引用 所屬分類: 天馬行空

            …久久精品99久久香蕉国产| 久久精品国产精品亚洲人人| 日本精品一区二区久久久| 久久亚洲精品成人无码网站| 国产Av激情久久无码天堂| 亚洲狠狠综合久久| 久久人人爽人人爽人人片AV麻烦 | 久久精品国产福利国产秒| 三级韩国一区久久二区综合| 久久国产精品99国产精| 久久精品亚洲欧美日韩久久| 久久精品无码专区免费青青| 午夜精品久久影院蜜桃| 999久久久国产精品| 久久精品无码午夜福利理论片 | 91久久精品电影| 久久偷看各类wc女厕嘘嘘| 国产精品久久久久久久久软件| 久久精品国产精品亚洲下载| 51久久夜色精品国产| 精品久久久久久亚洲精品 | 国产成人精品久久| 国产精品久久国产精品99盘| 亚洲精品乱码久久久久久按摩| 久久久久久国产a免费观看黄色大片 | 久久人人妻人人爽人人爽| 久久99九九国产免费看小说| 久久久久这里只有精品| 精品久久久久久无码中文字幕 | 狠狠色丁香婷综合久久| 男女久久久国产一区二区三区 | 久久精品亚洲男人的天堂| 国产999精品久久久久久| 国产毛片久久久久久国产毛片| 久久久久久a亚洲欧洲aⅴ | 久久午夜福利电影| 久久综合一区二区无码| 久久久久高潮综合影院| 久久发布国产伦子伦精品| 狠狠干狠狠久久| 久久精品这里只有精99品|