vs2017异常 debug assertion failed! Program:program name unknown File:wingdi.cpp line 1113

今天在项目中设置字体的时候引发了异常:

具体是这样的:

debug assertion failed! 

Program:<program name unknown>

 File:f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\ wingdi.cpp line 1113

然后找了下资料,说是在创建新的字体的时候没有将旧版本的字体删除。。。

解决办法:

在创建新字体之前加一行代码,把旧字体删除掉

font.DeleteObject();

然后就可以运行了,没有引发异常

根据提供的引用内容,"vs2013报错 Debug Assertion Failed! Program:C:\Windows\SYSTEM32\mfc120ud.dll File:f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp?" 是一个调试断言失败的错误。这种错误通常发生在运行时,当程序执行到一个不满足特定条件的地方时,会触发断言失败并终止程序的执行。 这个错误的原因可能是多种多样的,但通常是由于以下几个原因之一引起的: 1. 程序中存在空指针或无效指针。 2. 程序中存在数组越界或访问无效内存的情况。 3. 程序中存在逻辑错误或不一致的状态。 为了解决这个问题,你可以尝试以下几个步骤: 1. 检查代码中是否存在空指针或无效指针的情况。确保所有指针在使用之前都被正确初始化,并且没有被释放或删除。 2. 检查代码中是否存在数组越界或访问无效内存的情况。确保所有数组的索引在有效范围内,并且没有越界访问。 3. 检查代码中的逻辑错误或不一致的状态。确保程序的逻辑正确,并且所有的状态都是一致的。 如果以上步骤都没有解决问题,你可以尝试以下方法: 1. 使用调试器来跟踪错误的发生位置。通过调试器可以查看程序的执行过程,并找到导致断言失败的具体代码行。 2. 查看错误信息中提供的文件和行号,定位到具体的代码位置。检查该位置的代码是否存在问题,并进行修复。 3. 如果你使用的是第三方库或框架,确保你使用的版本与你的开发环境兼容,并且正确地配置和链接库文件。 希望以上信息对你有帮助。如果你还有其他问题,请随时提问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值