VS 除錯斷點命中了,程式無法再斷點處中斷

2022-09-16 07:39:08 字數 1623 閱讀 4641

**無法命中處理

1.首先確認一下,程式的dll與原始碼是否一致,可以編譯之後再進行

2.確認是否有公共的檔案儲存常用的dll,導致程式沒有走最新編譯的dll

3.vs程式除錯時會用到 .pdb檔案,是否dll是最新的但是 .pdb檔案不是最新的,刪掉 .pdb檔案

上述問題都確認沒有問題,但是斷點可以命中,但是就是無法在斷點處中斷

確認斷點是否真的命中了,我除錯程式時,使用的是附加程序的除錯方式進行除錯的,當我已經附加了程序除錯後發現再打斷點,很容易就命中斷點了,但是程式就是不在斷點處中斷

以前遇到過一次這種問題,請教技術經理都沒看出什麼問題來,最終我無意間再原始碼處多加了幾行空行再編譯突然發現程式能在斷點處中斷了,這個我猜測是否是當程式沒有進行更改**,

直接衝i重新編譯是否有無法更新dll,但是這一次我又遇到了這種斷點命中了,但是就是無法在斷點處中斷。

不停的嘗試,突然發現如果斷點是在附加程序之前進行打上了,在附加了程序之後斷點,變成空心帶黃色的符號,便是其實斷點沒有命中。但是取消未命中斷點,再次在此處打斷點(已經附加上程序)的

情況下,發現還是可以命中斷點。

實在沒有辦法,上網搜尋各種答案主要有如下幾種答案:

1.取消原始碼匹配(這種方法,不推薦。這個是給新手用的,就算可以解決斷點無法命中的問題,也沒有意義,因為程式實際執行的**和我們看到的不一樣,我們也不會知道問題出現在哪。)

附圖:

2.程式進行不在debug模式下,將程式設定為debug

附圖:

按照第二種方式設定後,發現還是不行,無法在斷點處中斷

繼續網上搜尋答案

3.程式設定了**優化,設定了**優化將導致除錯符號無法載入

附圖:

進行了這一步後還是無法除錯,繼續接著改,在我附加程序後,vs下面會有乙個輸出視窗,上面有一些資訊,大概是pdb無法載入,等等

這種情況按下圖處理

附圖:

這樣處理後,最後再次附加程序除錯,各位你們猜,這次成功沒呢?不過我只是附加了程序,但是沒有執行程式跳到斷點處。我發現在附加程序前打的斷點還是無法命中,我取消了上面的啟用源服務設定,再次附加程序,發現可以了,最終能夠執行了,但是最後我不能再程式處中斷到底是什麼原因。

VS 除錯斷點命中

在使用vs開發時,有時斷點會無法進入,特別是在乙個專案中引用另乙個類庫專案時。如下圖。我在乙個專案中引用了自定義的控制項mycontrol類庫,但在使用時發現,有些地方還需要調整,比如這裡我需要增加乙個guid作為特殊標識,並輸出以供測試。但是當我將這段 加入進去後,按f5執行程式時,這段 的斷點沒...

vs除錯無法進入斷點

有時候,我們在用vs除錯的時候,會出現斷點無效。如下圖 第一反應,要看想一下是不是在debug下。如果在release下,請參考我另篇文章 怎麼在release下除錯 如果是在debug下 1.檢查工程配置是否設定正確。c general debug information format progr...

VS2010 無法命中斷點

最近老是遇到無法命中斷點這個問題,之前幾次都是本地先備份,然後從伺服器上重新更新,再把本地合進工程。但反覆出現幾次,發現有必要從根源上解決問題。經研究,發現引起無法命中斷點的原因很多,該文討論其中4種 1 該文字 段未被程式執行 2 在執行程式時,修改了文字 3 文字中的製表符 tab 引起 4 文...