標籤:
問題產生的過程是這樣的,向exe項目(CSharp)中添加dll工程(c++開發)的引用,並將引用工程的屬性“Link Library Dependencies”的值設為true,這樣,在不加入lib的情況下,exe項目仍可以連結dll正常運行,但問題也出現了,在dll工程中設定 的斷點會被無視。
解決方案:
一、DLL工程的設定
設定Configuration Properties->General->Output Directory的值為$(SolutionDir)\bin\$(Configuration)\
設定Configuration Properties->Linker->Debugging的值為$(SolutionDir)lib\$(Configuration)\$(ProjectName).pdb
設定Configuration Properties->Linker->Advanced的值為$(SolutionDir)lib\$(Configuration)\$(ProjectName).lib
二、exe工程的設定(C++的設定方法,C#的不做這一步)
將引用工程的屬性“Link Library Dependencies”的值設為fasle。
設定Configuration Properties->Linker->General->Additional Library Directories的值設定為$(SolutionDir)lib\$(Configuration)\
在Configuration Properties->Linker->Input->Additional Dependencies中加入xxx.lib
三、開啟斷點功能
1. managed code的項目屬性中debug頁裡,"Enable unmanaged code debugging"選上。
2. unmanaged code項目屬性的debugging頁裡,Debugger Type設為Mixed。
解決VS2010 C++ DLL不能斷點調試的問題