VS2008中源文件与模块生成时的文件不同,仍要让调试器使用它吗
解決辦法:
1.在工具-> 選項-> 調試-> 常規 里
把“要求源文件和版本匹配”的勾勾去掉
然后去掉“地址級的調試”的勾勾(這樣就不會出現反匯編代碼了)
然后重新引用
2.直接把WEB項目下面的Bin文件夾下的BLL全部刪除。
3.若出現如下的警告信息
仔細看生成時輸出窗口有這么個警告:
warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
猜想是不是轉化不成功造成pdb里記錄的源文件簽名(可能是md5)和硬盤上的源文件不同造成這個問題。找到相應的文件,看到注釋里有亂碼,把亂碼字符刪掉后C4819錯誤消失,斷點也生效了。問題解決。
注:按照C4819警告建議的方式,在"文件"->"高級保存選項"里把"編碼"改為"UTF8 帶簽名.."也能解決問題。
以上的解決方法,均是整理了網上的解決方案,筆者遇到的問題,在執行第一種方法之后問題解決了,因情況而異,特此記錄一下,恐防日后再遇到相同問題時可以參考。
ps:源文件與模塊生成時的文件不同 說明當前調試的程序中引用的DLL與當前代碼已經不一致,彈出的對話框只是告訴你這個信息,第一種方法只是把這個提示信息屏蔽,不還是命中不了打在已經修改代碼中的斷點? 應該是重新生成DLL程序集,但第二種方法太籠統了,代碼往往沒那么復雜
總結
以上是生活随笔為你收集整理的VS2008中源文件与模块生成时的文件不同,仍要让调试器使用它吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS6.3 重启后/etc/re
- 下一篇: 路由器和网关的区别?