VS2022项目调试中,如果想在系统提供的源文件中(比如MFC D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\mfc 路径下的 appcore,winmain.cpp,wincore.cpp)设置断点,断点无法被击中。会提示:“当前不会命中断点,还没有为该文档加载任何符号”。
这个问题是MFC中的代码在编译时候没有生成调试信息加载到你的项目中,微软把有关的调试信息文件放到了服务器上,需要你下载,方法也很简单,在工具->选项->调试->符号中,按照下图选择:(可能选择Microsoft符号服务器就可以,我两个都选了)
设置好后,在点击viusal studio菜单栏中的生成:将项目清除,并重新生成项目。在你的程序和MFC程序中设置断点(当然你要确定程序能跑到这个断点处),重新调试运行。会弹出:
这时候系统会为MFC安装调试符号库。安装后,关闭Microsoft符号服务器和NuGet.org符号服务器
如果不关闭,每次断点调试都会重新加载符号库,这就很崩溃了。希望对编程的小伙伴有用。