調試項目時一直都可以使用編輯並繼續(Edit and continue),這個功能爲我節省了大量的調試時間,故耐心地查找了一下原因,花了1個多小時後終於解決了。同時也回過頭去解決了當時VS2015法使用的問題。解決方法如下:
強調,請在非調試下更改:
1、檢查是否打開了編輯並繼續功能:工具-選項-調試-編輯並繼續-啓用“編輯並繼續”,這裏要注意,VS2012和VS2013是默認關閉的,需要我們自己打開:啓用本機“編輯並繼續”;
2、這時如果還是沒法使用該功能時,需要打開增量鏈接:項目屬性-配置屬性-鏈接器-常規-啓用增量鏈接:是(/INCREMENTAL);
3、接着,需要修改調試信息格式:項目屬性-配置屬性-C/C++-常規-調試信息格式:用於“編輯並繼續”的程序數據庫(/ZI);
4、重新生成項目,首先查看有沒有警告 warning LNK4075,如果有的話,查看下是哪種警告,我遇到的兩種:
a、 忽略“/INCREMENTAL”(由於“xxxx”規範)
b、忽略“/EDITANDCONTINUE”(由於“xxxx”規範)
對於這兩種警告,MSDN給出瞭解釋(Linker Options>http://msdn.microsoft.com/en-us/library/962ct2hz.aspx),但是這裏提到的並不全,我遇到的情況就不止這些,現在把導致警告的配置列在下面,大家可以根據自己的項目配置以及警告類型來修改:
/OPT:REF |
/OPT:ICF |
/OPT:LBR |
/ORDER |
/PROFILE |
/FORCE |
/RELEASE |
對於前面4種配置,除了(/OPT:LBR)沒有遇到,暫且不知道外,其他3種都是在這裏修改:項目屬性-配置屬性-鏈接器-優化-引用:否(/OPT:NOREF);啓用COMDAT摺疊:否(/OPT:NOICF);函數順序(/ORDER):保持爲空。可以參考(/INCREMENTAL(增量鏈接) http://msdn.microsoft.com/zh-cn/Library/4khtbfyf.aspx)
對於/PROFILE:項目屬性-配置屬性-鏈接器-高級-配置文件:否
對於/FORCE:項目屬性-配置屬性-鏈接器-常規-強制文件輸出:保持爲空
對於/RELEASE:這裏就不用多說了吧,編輯並繼續無法在release模式下使用。
好了,現在重新生成項目,然後試試看,是不是可以使用“應用代碼更改”了呢?
警告 LNK4075 忽略“/EDITANDCONTINUE”(由於“/SAFESEH”規範) TAppEncoderC:\chenglei\FME\HM-16.0-FME-lab\build\vc10\encmain.obj1
解決方法:
</div>