調試時發現vs中斷點不能被命中,開始時未發現原因。
現象:
1、每次重新編譯dll也不能正確設置斷點。
2、重啓電腦後再編譯可以正確使用,修改後編譯有又不可使用。
3、查看dll、pdb文件發現都是最新的。
原因:
調試時使用的代碼確實使用的不是最新的dll。
在其他dll中引用了此dll,而且是拷貝到本地。此種使用方式會導致被引用的dll會有多份,且不保證是相同的版本,所以調試時有可能使用的是就得版本。
解決方案:
1、查看解決方案下調試的dll是否存在多分,是否有可能使用的不是最新編譯生成的目錄下的文件。是則刪除多餘的文件。
2、如有有引用此dll的,引用方式爲拷貝到本地目錄的,修改爲“拷貝到本地目錄”爲“否”。