如果我有一个DLL(在发布模式下构建)和相应的PDB文件,是否可以调试(步入)该DLL中包含的类/方法?
如果是,那么所需的步骤/配置是什么(例如,放置PDB文件的位置)?
编辑:
如果将PDB文件放在与DLL相同的位置(在简单控制台测试应用程序的bin/debug目录中).我可以看到DLL的符号被加载(在"输出"窗口中,也在"模块"窗口中),但我仍然无法进入该DLL的方法.
这可能是编译器优化的结果(正如Michael在他的回答中所描述的那样)?
为了能够正确调试发布版本,需要一个PDB文件.当编译器使用不同类型的优化(FPO,PGO,内部函数,内联等)时,PDB文件是否会变得不太可用?如果是这样,优化效果是否严重或仅仅导致相邻的代码行混淆?
(我正在使用VC2005,并且总是选择可调试性而非优化性能 - 但问题是一般的)