vs2017 MFC 打不上断点

1、打不上断点的问题在于debug的问题

如果用的是静态调试  调试->属性页->c/c++->代码生成->运行库->选择 多线程调试(/MTd)

                  动态调试 。。。。。。。。。。。。。。。。。。。 选择 多线程调试 DLL (/MDd)

afx.h中的配置代码:

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically

选择应用后  对路径afx.h的访问已拒绝,此时设置的保存不能改动  

办法: 使用notpad++之类的代码编辑器  以管理员模式打开目录下的afx.h代码,然后将设置后的代码复制过来通过外部保存 

如此就可以断点了

如果你无法在 Visual Studio 中设置断点并调试 MFC 代码,可能是由于以下一些原因导致的: 1. 编译选项问题:确保在项目的调试配置中启用了调试信息(Debug Information),并且选择了正确的调试器。在项目属性的“配置属性” -> “C/C++” -> “常规”中,确保“调试信息格式”设置为“调试 (/Zi)”或“调试增强 (/ZI)”。在“配置属性” -> “链接器” -> “调试”中,选择“生成调试信息(/DEBUG)”。 2. 符号文件加载问题:如果你的 DLL 是从其他项目加载的,而且该项目无法找到相应的符号文件(.pdb 文件),则 VS 将无法设置断点。确保编译并生成 DLL 的项目和加载 DLL 的项目都能找到正确的符号文件。 3. 运行时库问题:如果你的 DLL 和加载 DLL 的项目使用了不同的运行时库,可能会导致调试问题。确保两者都使用相同的运行时库(例如,都使用动态链接的多线程调试运行时库)。 4. 调试器安装问题:检查 Visual Studio 的安装是否完整,并且是否安装了正确版本的调试器。 如果上述步骤都没有解决问题,你可以尝试以下方法: - 清理和重新生成解决方案。 - 禁用优化选项,以便在编译期间生成更准确的调试信息。 - 将断点设置在其他位置,例如函数的开头或结尾。 - 尝试使用“条件断点”来设置断点,以便在满足特定条件时触发断点。 如果问题仍然存在,建议参考 Visual Studio 的文档或搜索相关的论坛讨论,以获取更专业的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值