• <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>
            Creative Commons License
            本Blog采用 知識共享署名-非商業性使用-禁止演繹 3.0 Unported許可協議 進行許可。 —— Fox <游戲人生>

            游戲人生

            游戲人生 != ( 人生 == 游戲 )
            站點遷移至:http://www.yulefox.com。請訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
            posts - 62, comments - 508, trackbacks - 0, articles - 7

            VS2005斷點失效的問題

            Posted on 2009-01-04 11:04 Fox 閱讀(14762) 評論(26)  編輯 收藏 引用 所屬分類: T技術碎語

            VS2005下使用VC,部分斷點無效,顯示『當前不會命中斷點。還沒有為該文檔加載任何符號』。

            試過以下一些方法:

            1、無效斷點所在的項目和啟動項目的設置:項目->屬性->配置屬性->C/C++->常規->調試信息格式,這里不能為『禁用』;

            2、項目->屬性->配置屬性->鏈接器->調試->生成調試信息,這里設為『是』;

            3、C/C++->優化->優化選擇『禁用』;

            4、刪除解決方案下的.ncb文件;

            5、工具->選項->調試->『要求源文件與原始版本完成匹配』去掉勾;

            6、最后在上述設置的情況下,重新編譯整個解決方案;

            7、回過頭來,發現原來是一段不會被執行到的代碼……

            看來,除了VS本身會有bug,自己的代碼還是要多檢查一下。

            Feedback

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-01-04 17:39 by hello
            這個不是VS的BUG吧,可能不滿足 要求源文件與原始版本完成匹配,或者 模塊根本就沒加載,當然沒法調試。

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-01-04 19:23 by CK
            博主,這個根本不是Visual Studio的BUG.

            微軟的這個IDE是非常強大的,主要是因為你沒有了解它的編譯原理.
            Visual Studio并不是使用g++來編譯的,它有自己的編譯器,其中有很多不同的編譯模式.比如默認的有三種,比較常用的就是Debug,Release模式.

            當你使用Debug,即調試模式時,不會出現任何斷點失效的問題.想必你使用的編譯模式是Release.這個模式使用了非常多的編譯優化.在寫程序的時候你可能看不出來,其實你在程序運行時隨便在哪里設一個斷點停下,然后它會自動給你匯編代碼,仔細看看,你會發現它為你做了非常多的常數優化.

            比如除法,a/=7,你看看它的匯編代碼,是進行了一系列的乘加操作,最終得出了正確答案,這個比一個除法的匯編指令快多了.不過當你添了些代碼時,想調試它,它因為一些優化原因,就忽略了這些新加入的內容.

            總的來說,當你調試程序時,一定要記得使用DEBUG模式,它不會做什么優化,調試沒有任何問題.當要輸出最終產品,即可執行文件或庫時,開啟Release模式,并且讓整個解決方案和程序全部重新生成,這樣才會正確執行,生成的東西才是最優化的,并且程序體積也比DEBUG生成的小很多.

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-01-05 08:59 by Kevin Lynx
            這種情況不解決辦法有 很多。你這個方法我沒用過。最簡單的方法就是ctrl+a, ctrl+f重新格式化這個‘不可調試’的CPP文件,然后編譯該CPP文件,一般就可以解決。當然,有時候也無法解決。
            @CK
            這里說的就是DEBUG模式。

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-01-05 09:49 by zuhd
            PDB文件失效了,Clean->Rebuild即可

            # re: CK  回復  更多評論   

            2009-02-11 17:25 by zwj
            CK,你說話就像放屁,
            “當你使用Debug,即調試模式時,不會出現任何斷點失效的問題”,你試過嗎?,我就在debug模式下,確實是運行不到斷點!!!

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2009-03-31 08:31 by jason
            在Debug模式下,我也出現過樓主說的現象,不過個人覺得有以下問題。

            1、無效斷點所在的項目和啟動項目的設置:項目->屬性->配置屬性->C/C++->常規->調試信息格式,這里不能為『禁用』;
            回:默認的Debug模式,這個就是非禁用狀態。

            2、項目->屬性->配置屬性->鏈接器->調試->生成調試信息,這里設為『是』;
            回:Debug模式的默認值。(手抽和VS版本混亂者排除)

            3、C/C++->優化->優化選擇『禁用』;
            回:Debug模式的默認值。(手抽和VS版本混亂者排除)

            4、刪除解決方案下的.ncb文件;
            回:這個方法比較管用。

            5、工具->選項->調試->『要求源文件與原始版本完成匹配』去掉勾;
            回:這個不建議使用,不然編譯出來的版本可能不是你最新的代碼編譯出來的。
            而且你也很難找問題,強烈BS這個方法。

            6、最后在上述設置的情況下,重新編譯整個解決方案;
            回:這個方法比較管用。

            7、回過頭來,發現原來是一段不會被執行到的代碼……
            回:這個方法最管用^_^。

            純屬個人意見,呵呵。

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2009-04-30 12:01 by zz
            這個根本不是Visual Studio的BUG。
            說上面這句話的人,應當是沒遇到過這個問題,或者根本就不知道調試是什么。

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-04-30 22:26 by CK
            哦?那請問叫做ZZ的,要是可以,請你拿出一個實例來吧,空口的話不要直接就說“根本就不知道調試是什么”,或許您更不知道調試是什么吧

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-05-19 17:17 by 灰熊
            確實在vs2005下碰到過debug模式下斷點無法命中的問題,后來我發現是因為pdb符號文件不小心被挪到另外的位置了。可以用二進制編輯工具打開生成的可執行文件,里面有pdb文件的路徑信息,pdb文件實際存放的路徑要和里面的信息一致。

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-05-21 15:14 by 做得到
            @zwj
            對我也遇到了

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-06-18 18:09 by asdf
            asdf

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-08-18 01:28 by playgamezx
            樓主這個幫助其實是寫給新手的,什么是調試怎么調?也許對于有人手把手幫你你可能掌握得比較快,但事實上VS2005默認的調試方式在調試c++程序時根本不會命中斷點,不管你們用什么辦法,改為debug也好按樓主方法逐條設置也好,總而言之就是把調試打開了
            但我不明白CK你是用的是什么方法,具體怎么操作的。我的VS每次新建工程調試C++程序都要按照樓主的方法重新設置才行,而我在工程,選項中即使選擇了debug依然不能調試,只有全改才行
            關于jason說的默認為什么什么不知你是怎么看到弄得

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-08-18 01:44 by playgamezx
            在附上最新的解決方案
            希望能夠幫助廣大的編程入門者

            如果你按照樓主的方法修改正確說明一個問題
            你建錯工程了!
            建工程時如果你想做一個簡單的控制臺程序,要選擇控制臺程序
            而不是選擇空項目!
            當選擇控制臺程序后進入的向導里面選擇空項目。
            這個問題即使是經驗多年的程序員一般也無法幫你解決。樓主的方法是通過能調試的工程和不能調試的工程對比出來的,比較笨也比較難記,取舍自己決定
            裝比的自重

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2009-09-27 21:46 by chris
            那個CK是不是認為VISUAL STUDIO沒有BUG?
            我就在DEBUG下遇到了這個問題,也按照樓主的方法解決了!
            你還別太自信的好。

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2009-09-28 08:18 by CK
            我的意思不是Visual Studio沒有BUG
            再完美的程序也有可能有BUG

            我的意思是按樓主以及底下的一些回復
            你們自己看看,應該是自己的工程屬性和設置等問題,而不是說這個是VS的BUG

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-09-28 10:26 by Doit
            我也遇到此問題過,按照LZ的方法基本可以解決

            # re: VS2005斷點失效的問題  回復  更多評論   

            2009-09-28 10:31 by Doit
            不過Vs的BUG確實存在的.....有些問題很神奇也很無奈啊...也許是本身的水平問題吧...

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2009-11-11 18:16 by zq
            每次在vss上下載后打斷點無效,必須改動下OnInitDialog 函數的內容,再打個斷點才能進入其它斷點

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2010-03-10 15:57 by 1
            VS確實很多bugs,樓主的方法確實比較實用
            中國的程序員別說解決問題,這里就開始罵人了,一群垃圾

            # re: VS2005斷點失效的問題  回復  更多評論   

            2010-04-10 15:56 by none
            經過驗證,CK的確在放屁,鄙視一下。

            # re: VS2005斷點失效的問題  回復  更多評論   

            2010-04-10 16:01 by CK
            把你運行不到斷點的代碼貼上來吧,我們看看是誰在放P

            你連代碼都不敢貼還說別人放P,自己SB啊

            # re: VS2005斷點失效的問題  回復  更多評論   

            2010-04-10 16:05 by CK
            而且已經說了,這些是你工程設置的問題,而不是所謂的Visual Studio的BUG,我上面表達的意思就是這根本不是BUG,而是設置的問題

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2010-04-12 15:57 by bobby
            CK寫的程序比較少,這種問題確實存在,尤其在跨平臺的庫引用上。。。樓主的方法能解決部分問題,有的時候也試試ctrl+a 然后ALT F8吧,我想這是Kevin Lynx 的意思

            # re: VS2005斷點失效的問題  回復  更多評論   

            2010-06-16 17:58 by Jack.wgm
            CK說的是對的,這不屬于vs的bug.肯定是工程設置的問題,或者是pdb調試信息數據庫位置或文件錯誤導致的,而pdb文件出現這種問題很可能是用戶自己非正常關閉vs或計算機導致的.
            但vs確實是有bug的,我所知道的,從vs6到vs2010都一直存在多線程斷點調試bug導致系統死鎖的bug,而這現象是隨機的,有時候很頻繁,有時候沒有.

            # re: VS2005斷點失效的問題  回復  更多評論   

            2010-06-22 14:37 by 景濤他爹
            樓主有沒有寫過程序,這個是從哪兒轉來的吧!

            # re: VS2005斷點失效的問題[未登錄]  回復  更多評論   

            2011-06-12 20:08 by no7dw
            這個問題我遇過,我的兩個項目dll mfc 因跨項目調試,原因是dll 版本不與原碼不一致
            成人午夜精品久久久久久久小说| 久久久网中文字幕| 久久国产欧美日韩精品| 精产国品久久一二三产区区别| 中文字幕久久精品无码| 国产成人精品白浆久久69| 韩国三级中文字幕hd久久精品 | 亚洲国产一成人久久精品| 97热久久免费频精品99| 久久久久亚洲AV成人网人人软件| 久久精品桃花综合| 99久久精品无码一区二区毛片 | 欧美日韩精品久久久免费观看| 亚洲国产日韩综合久久精品| 精品国产乱码久久久久久1区2区| 久久精品亚洲福利| 国产精品久久久久无码av| 久久无码人妻精品一区二区三区| 精品久久久噜噜噜久久久| 日韩精品无码久久一区二区三| 国产99久久精品一区二区| 久久精品中文字幕一区| 久久综合成人网| 久久国产视屏| 国产真实乱对白精彩久久| 狠狠色丁香久久婷婷综| 亚洲精品无码成人片久久| 久久久久久久精品妇女99| 久久久久久亚洲精品不卡 | 合区精品久久久中文字幕一区| 久久99精品综合国产首页| 久久亚洲中文字幕精品有坂深雪| 久久国产欧美日韩精品免费| 青青久久精品国产免费看| 国产激情久久久久影院| 精品久久久无码中文字幕| 国产欧美久久久精品| 久久久久亚洲AV片无码下载蜜桃| 精品久久久无码中文字幕| 久久天天躁狠狠躁夜夜2020老熟妇| 国产AⅤ精品一区二区三区久久|