• <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采用 知識(shí)共享署名-非商業(yè)性使用-禁止演繹 3.0 Unported許可協(xié)議 進(jìn)行許可。 —— Fox <游戲人生>

            游戲人生

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

            VS2005斷點(diǎn)失效的問(wèn)題

            Posted on 2009-01-04 11:04 Fox 閱讀(14763) 評(píng)論(26)  編輯 收藏 引用 所屬分類(lèi): T技術(shù)碎語(yǔ)

            VS2005下使用VC,部分?jǐn)帱c(diǎn)無(wú)效,顯示『當(dāng)前不會(huì)命中斷點(diǎn)。還沒(méi)有為該文檔加載任何符號(hào)』。

            試過(guò)以下一些方法:

            1、無(wú)效斷點(diǎn)所在的項(xiàng)目和啟動(dòng)項(xiàng)目的設(shè)置:項(xiàng)目->屬性->配置屬性->C/C++->常規(guī)->調(diào)試信息格式,這里不能為『禁用』;

            2、項(xiàng)目->屬性->配置屬性->鏈接器->調(diào)試->生成調(diào)試信息,這里設(shè)為『是』;

            3、C/C++->優(yōu)化->優(yōu)化選擇『禁用』;

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

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

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

            7、回過(guò)頭來(lái),發(fā)現(xiàn)原來(lái)是一段不會(huì)被執(zhí)行到的代碼……

            看來(lái),除了VS本身會(huì)有bug,自己的代碼還是要多檢查一下。

            Feedback

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2009-01-04 17:39 by hello
            這個(gè)不是VS的BUG吧,可能不滿(mǎn)足 要求源文件與原始版本完成匹配,或者 模塊根本就沒(méi)加載,當(dāng)然沒(méi)法調(diào)試。

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

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

            微軟的這個(gè)IDE是非常強(qiáng)大的,主要是因?yàn)槟銢](méi)有了解它的編譯原理.
            Visual Studio并不是使用g++來(lái)編譯的,它有自己的編譯器,其中有很多不同的編譯模式.比如默認(rèn)的有三種,比較常用的就是Debug,Release模式.

            當(dāng)你使用Debug,即調(diào)試模式時(shí),不會(huì)出現(xiàn)任何斷點(diǎn)失效的問(wèn)題.想必你使用的編譯模式是Release.這個(gè)模式使用了非常多的編譯優(yōu)化.在寫(xiě)程序的時(shí)候你可能看不出來(lái),其實(shí)你在程序運(yùn)行時(shí)隨便在哪里設(shè)一個(gè)斷點(diǎn)停下,然后它會(huì)自動(dòng)給你匯編代碼,仔細(xì)看看,你會(huì)發(fā)現(xiàn)它為你做了非常多的常數(shù)優(yōu)化.

            比如除法,a/=7,你看看它的匯編代碼,是進(jìn)行了一系列的乘加操作,最終得出了正確答案,這個(gè)比一個(gè)除法的匯編指令快多了.不過(guò)當(dāng)你添了些代碼時(shí),想調(diào)試它,它因?yàn)橐恍﹥?yōu)化原因,就忽略了這些新加入的內(nèi)容.

            總的來(lái)說(shuō),當(dāng)你調(diào)試程序時(shí),一定要記得使用DEBUG模式,它不會(huì)做什么優(yōu)化,調(diào)試沒(méi)有任何問(wèn)題.當(dāng)要輸出最終產(chǎn)品,即可執(zhí)行文件或庫(kù)時(shí),開(kāi)啟Release模式,并且讓整個(gè)解決方案和程序全部重新生成,這樣才會(huì)正確執(zhí)行,生成的東西才是最優(yōu)化的,并且程序體積也比DEBUG生成的小很多.

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2009-01-05 08:59 by Kevin Lynx
            這種情況不解決辦法有 很多。你這個(gè)方法我沒(méi)用過(guò)。最簡(jiǎn)單的方法就是ctrl+a, ctrl+f重新格式化這個(gè)‘不可調(diào)試’的CPP文件,然后編譯該CPP文件,一般就可以解決。當(dāng)然,有時(shí)候也無(wú)法解決。
            @CK
            這里說(shuō)的就是DEBUG模式。

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

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

            # re: CK  回復(fù)  更多評(píng)論   

            2009-02-11 17:25 by zwj
            CK,你說(shuō)話就像放屁,
            “當(dāng)你使用Debug,即調(diào)試模式時(shí),不會(huì)出現(xiàn)任何斷點(diǎn)失效的問(wèn)題”,你試過(guò)嗎?,我就在debug模式下,確實(shí)是運(yùn)行不到斷點(diǎn)!!!

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

            2009-03-31 08:31 by jason
            在Debug模式下,我也出現(xiàn)過(guò)樓主說(shuō)的現(xiàn)象,不過(guò)個(gè)人覺(jué)得有以下問(wèn)題。

            1、無(wú)效斷點(diǎn)所在的項(xiàng)目和啟動(dòng)項(xiàng)目的設(shè)置:項(xiàng)目->屬性->配置屬性->C/C++->常規(guī)->調(diào)試信息格式,這里不能為『禁用』;
            回:默認(rèn)的Debug模式,這個(gè)就是非禁用狀態(tài)。

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

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

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

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

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

            7、回過(guò)頭來(lái),發(fā)現(xiàn)原來(lái)是一段不會(huì)被執(zhí)行到的代碼……
            回:這個(gè)方法最管用^_^。

            純屬個(gè)人意見(jiàn),呵呵。

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

            2009-04-30 12:01 by zz
            這個(gè)根本不是Visual Studio的BUG。
            說(shuō)上面這句話的人,應(yīng)當(dāng)是沒(méi)遇到過(guò)這個(gè)問(wèn)題,或者根本就不知道調(diào)試是什么。

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2009-04-30 22:26 by CK
            哦?那請(qǐng)問(wèn)叫做ZZ的,要是可以,請(qǐng)你拿出一個(gè)實(shí)例來(lái)吧,空口的話不要直接就說(shuō)“根本就不知道調(diào)試是什么”,或許您更不知道調(diào)試是什么吧

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2009-05-19 17:17 by 灰熊
            確實(shí)在vs2005下碰到過(guò)debug模式下斷點(diǎn)無(wú)法命中的問(wèn)題,后來(lái)我發(fā)現(xiàn)是因?yàn)閜db符號(hào)文件不小心被挪到另外的位置了。可以用二進(jìn)制編輯工具打開(kāi)生成的可執(zhí)行文件,里面有pdb文件的路徑信息,pdb文件實(shí)際存放的路徑要和里面的信息一致。

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

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

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2009-06-18 18:09 by asdf
            asdf

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

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

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

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

            如果你按照樓主的方法修改正確說(shuō)明一個(gè)問(wèn)題
            你建錯(cuò)工程了!
            建工程時(shí)如果你想做一個(gè)簡(jiǎn)單的控制臺(tái)程序,要選擇控制臺(tái)程序
            而不是選擇空項(xiàng)目!
            當(dāng)選擇控制臺(tái)程序后進(jìn)入的向?qū)Ю锩孢x擇空項(xiàng)目。
            這個(gè)問(wèn)題即使是經(jīng)驗(yàn)多年的程序員一般也無(wú)法幫你解決。樓主的方法是通過(guò)能調(diào)試的工程和不能調(diào)試的工程對(duì)比出來(lái)的,比較笨也比較難記,取舍自己決定
            裝比的自重

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

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

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

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

            我的意思是按樓主以及底下的一些回復(fù)
            你們自己看看,應(yīng)該是自己的工程屬性和設(shè)置等問(wèn)題,而不是說(shuō)這個(gè)是VS的BUG

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

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

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2009-09-28 10:31 by Doit
            不過(guò)Vs的BUG確實(shí)存在的.....有些問(wèn)題很神奇也很無(wú)奈啊...也許是本身的水平問(wèn)題吧...

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

            2009-11-11 18:16 by zq
            每次在vss上下載后打斷點(diǎn)無(wú)效,必須改動(dòng)下OnInitDialog 函數(shù)的內(nèi)容,再打個(gè)斷點(diǎn)才能進(jìn)入其它斷點(diǎn)

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

            2010-03-10 15:57 by 1
            VS確實(shí)很多bugs,樓主的方法確實(shí)比較實(shí)用
            中國(guó)的程序員別說(shuō)解決問(wèn)題,這里就開(kāi)始罵人了,一群垃圾

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2010-04-10 15:56 by none
            經(jīng)過(guò)驗(yàn)證,CK的確在放屁,鄙視一下。

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2010-04-10 16:01 by CK
            把你運(yùn)行不到斷點(diǎn)的代碼貼上來(lái)吧,我們看看是誰(shuí)在放P

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

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2010-04-10 16:05 by CK
            而且已經(jīng)說(shuō)了,這些是你工程設(shè)置的問(wèn)題,而不是所謂的Visual Studio的BUG,我上面表達(dá)的意思就是這根本不是BUG,而是設(shè)置的問(wèn)題

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

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

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2010-06-16 17:58 by Jack.wgm
            CK說(shuō)的是對(duì)的,這不屬于vs的bug.肯定是工程設(shè)置的問(wèn)題,或者是pdb調(diào)試信息數(shù)據(jù)庫(kù)位置或文件錯(cuò)誤導(dǎo)致的,而pdb文件出現(xiàn)這種問(wèn)題很可能是用戶(hù)自己非正常關(guān)閉vs或計(jì)算機(jī)導(dǎo)致的.
            但vs確實(shí)是有bug的,我所知道的,從vs6到vs2010都一直存在多線程斷點(diǎn)調(diào)試bug導(dǎo)致系統(tǒng)死鎖的bug,而這現(xiàn)象是隨機(jī)的,有時(shí)候很頻繁,有時(shí)候沒(méi)有.

            # re: VS2005斷點(diǎn)失效的問(wèn)題  回復(fù)  更多評(píng)論   

            2010-06-22 14:37 by 景濤他爹
            樓主有沒(méi)有寫(xiě)過(guò)程序,這個(gè)是從哪兒轉(zhuǎn)來(lái)的吧!

            # re: VS2005斷點(diǎn)失效的問(wèn)題[未登錄](méi)  回復(fù)  更多評(píng)論   

            2011-06-12 20:08 by no7dw
            這個(gè)問(wèn)題我遇過(guò),我的兩個(gè)項(xiàng)目dll mfc 因跨項(xiàng)目調(diào)試,原因是dll 版本不與原碼不一致
            国产亚洲综合久久系列| 久久精品国产亚洲Aⅴ香蕉 | 狠狠色综合网站久久久久久久高清 | 久久久午夜精品福利内容| 久久人妻少妇嫩草AV蜜桃| 国产精品久久久亚洲| 青青青青久久精品国产h久久精品五福影院1421 | 国内精品久久久久久久久| 伊人久久大香线蕉AV一区二区| 久久综合精品国产二区无码| 国产激情久久久久影院小草 | 99国产精品久久| 久久笫一福利免费导航| 97久久精品国产精品青草| 日韩AV毛片精品久久久| 免费国产99久久久香蕉| 午夜精品久久久久久99热| 久久亚洲2019中文字幕| 国产成人精品久久免费动漫| 久久久久久亚洲精品影院| 激情久久久久久久久久| 国产精品一区二区久久不卡| 色老头网站久久网| 欧美国产成人久久精品| 久久精品国产第一区二区| 97久久久精品综合88久久| 午夜人妻久久久久久久久| 久久精品中文无码资源站| 日韩中文久久| 2021国产精品久久精品| 思思久久99热只有频精品66| 亚洲婷婷国产精品电影人久久| 久久国产影院| 欧美午夜A∨大片久久 | 久久99九九国产免费看小说| 国产亚洲成人久久| 国产激情久久久久影院小草| 韩国三级中文字幕hd久久精品| 久久精品免费大片国产大片| 久久亚洲2019中文字幕| 亚洲&#228;v永久无码精品天堂久久|