碰到几次这个问题了,记录下解决方案:
其实问题在于,在空项目中不生成调试文件pdb,所以无法调试。
要让项目生成pdb文件,需要更改:
项目属性,configuration properties->linker->Generate Debug Info 从 no 改为 yes
(项目属性:属性->连接器->调试->生成连接信息 改为"是")
但这样还是不够的,还需要更改:
项目属性,configuration properties->c/c++->debug information format为/ZI
(项目属性:属性->c/c++ ->常规-> 调试信息格式 为/ZI )
项目属性,configuration properties->c/c++->optimization为Disabled
(项目属性:属性->c/c++ -> 优化 改为禁用
因为为了生成这个文件,需要设定debug信息的格式并关掉O2,还要更改linker生成调试信息的开关
如果有兴趣diff项目的.vcproj文件,会发现更改了里面的三行配置信息:
<
Tool
Name
="VCCLCompilerTool"
Optimization
="0"
//原来是2
DebugInformationFormat
="4"
//原来是0
/>
<
Tool
Name
="VCLinkerTool"
GenerateDebugInformation
="true"
//原来是false
/>