今天在調試代碼的時候發現在Debug模式下無法命中斷點,然后一步步去檢查原因,最后發現是在項目--》屬性--》生成--》高級--》調試信息被設置為None,然后在選項中將其選擇為Full之后,問題就解決了。
然后看了一下,這幾個選項:null 、pdb-only、full,顧名思義當選擇為null時,表示不輸出調試信息,即當前項目不會生成.pdb文件,當我們選擇啟動時為Debug模式下,該項默認為full,當我們選擇默認的啟動項為Release模式時,該項默認為:pdb-only,而且輸出的文件的大小明顯不同,前者明顯大很多。
那么在Release模式下,pdb文件到底優化了些什么內容呢?
那么首先來介紹一下什么是pdb文件。
.pdb文件:
程序數據庫文件(Program Database File)。默認設置下,Debug的PDB是full,保存着調試和項目狀態信息、有斷言、堆棧檢查等代碼,可以對程序的調試配置進行增量鏈接。
而Release的默認設置對PDB指定為pdb-only,保存着程序出了什么錯誤,以及錯誤在哪行,所以在代碼進行調試時選擇Debug作為啟動項目,並且輸出完整的調試信息才是正確的!