c 程式無法進入斷點的原因

2021-10-09 18:47:23 字數 1078 閱讀 4114

今天除錯程式的時候出現了乙個煩人的問題,呼叫的dll****現問題,但是打斷點一直無法進入斷點,這問題整了一會還好發現了問題的原因,居然是因為我dll工程生成的導入庫lib的路徑錯了,程式呼叫的時候 是用的以前的導入庫lib,dll是最新的,最後把新生成的導入庫lib更新了一下,可以除錯了。這種問題很容易忽略掉,出錯時 一時半會也想不來是這裡的問題。關於類似的程式無法進入斷點的案例還挺多,下面是網上收集的以及自己躺過的一些坑。

1.清理解決方案或者專案,重新生成專案(pdb一類檔案的更新)

2.vs專案下:  工具-->選項-->除錯--->常規

可以把這個選項取消勾選以方便除錯。

乙個擁有源**的dll專案需要設定以下幾種屬性才可以讓生成的dll再被其他程式呼叫時,可以被除錯。

進行上述設定之後,編譯得到的c++dll已經具備源**除錯能力。

1.清理解決方案或者專案,重新生成專案(pdb一類檔案的更新)

2.dll靜態載入時,其導入庫需要用到最新的,修改**後,不要忘記使用最新的導入庫lib以及dll,注意目錄,因為這個lib很可能是以前的,而不是最新的

3.vs專案下:  工具-->選項-->除錯--->常規

可以把這個選項取消勾選以方便除錯。

參考文章:

vs除錯無法進入斷點

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

docker使用GDB,無法進入斷點的解決方法

docker裡執行gdb,打了斷點,卻無法進入斷點 docker為了保證主機安全,docker開了很多安全設定,其中包括aslr address space layout randomization 即docker裡的記憶體位址和主機記憶體位址是不一樣的。aslr會導致gdb這種依賴位址的程式無法正...

Silverlight程式無法載入的原因

昨天在公司做了乙個silverlight的專案,想回家看看,結果到家用vs2010開啟一看,卻發現無法引導程式。出現如下圖所示的錯誤 可以看到是我的.csproj檔案出現了問題,於是開啟slmvvmtest.csproj檔案,可以看到如圖所示 在 silverlight這一行出現了問題。這是我發現其...