• <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>

            戰(zhàn)魂小筑

            討論群:309800774 知乎關(guān)注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            最近遇到一個vs2008 C++中斷點無法工作的問題,具體表現(xiàn)為:

            1. 某個修改后,斷點無法工作,之前版本依然正常

            2. 只是某個文件中斷點無法工作

            3. 斷點打在 引用另外DLL中的類對象A

            文件結(jié)構(gòu):

            Core.dll

            A.cpp

            class A 
            { 
            public: 
                A( )
                { 
                    printf("constructor of a");
                } 
            
            } 
            
             

            UI.dll

            Manager.cpp

            class Manager
            { 
            public: 
                Manager( )
                { 
                    printf("constructor of Manager");
                } 
            
            } 
            

             

            Button.cpp

            A ins; // 斷點打在這里

            Run.exe

            void main() 
            { 
                Manager ins;  // 實例化 
            } 
            

            這里發(fā)現(xiàn)A根本不會被C runtime在執(zhí)行main之前構(gòu)造,因此斷點無法打到

            已經(jīng)排除特殊字符影響的原因,按照網(wǎng)上的方法是,將文件保存為UNICODE,問題依舊

            開始用排除隔離法確定問題位置,最后發(fā)現(xiàn)這樣一個規(guī)律:

            只要在Manager.cpp里構(gòu)造一個Button

            Button insB;

            這樣做了以后,斷定必定能起作用。

            因此推斷CRT層的全局構(gòu)造是需要一個鏈表來推動的

            因為Manager需要構(gòu)造,因此CRT肯定會掃描這個CPP對應(yīng)OBJ鏈接到exe里的段,讓這個段里的全局構(gòu)造函數(shù)都初始化,但是Button因為沒有使用,因此也不會構(gòu)造。這樣局部掃描應(yīng)該是出于效率.

            解決這個問題還有一個方法就是全部使用靜態(tài)鏈接方式,這樣構(gòu)造代碼都放到最后的exe中,就不會出現(xiàn)這樣的問題

            posted on 2009-06-14 10:51 戰(zhàn)魂小筑 閱讀(433) 評論(0)  編輯 收藏 引用 所屬分類: 程序調(diào)試技術(shù)
            久久亚洲精品无码观看不卡| 97精品伊人久久大香线蕉| 亚洲第一极品精品无码久久| 婷婷久久香蕉五月综合加勒比| 人妻精品久久久久中文字幕一冢本| 久久久久免费看成人影片| 久久久中文字幕| 亚洲国产精品综合久久网络| 亚洲色婷婷综合久久| 亚洲国产精品婷婷久久| 精品久久久久久国产| 国产成人无码精品久久久免费| 国内精品综合久久久40p| 久久免费小视频| 久久无码AV中文出轨人妻| 亚洲一本综合久久| 久久精品国产日本波多野结衣| 国产精品女同一区二区久久| 无码伊人66久久大杳蕉网站谷歌| 国产A级毛片久久久精品毛片| 无码人妻久久一区二区三区| 亚洲狠狠久久综合一区77777 | 亚洲精品97久久中文字幕无码| 国内精品久久久久久久影视麻豆| 97精品伊人久久大香线蕉| 国产成人精品久久一区二区三区av| 青青草原综合久久大伊人| 99久久精品无码一区二区毛片| 欧美久久久久久| 久久久久人妻一区精品| 久久青草国产精品一区| 精品久久久久中文字幕日本 | 久久久精品人妻一区二区三区四 | 精品无码久久久久久久久久| 精品久久人妻av中文字幕| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 色欲av伊人久久大香线蕉影院| 色天使久久综合网天天| 人人狠狠综合久久亚洲高清| 久久亚洲视频| 亚州日韩精品专区久久久|