Debug下出现debug assertion failed

出现debug assertion failed界面后点击重试跳到这句ASSERT(m_hObject == NULL);

采用注释查找错误的方式定位至:

if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
    {
        return -1;
    }

在根据这句话最终找到错误在

m_brush.CreateSolidBrush(RGB(115,198,247));

因为OnCtlColor()函数要执行很多次,但是CreateSolidBrush()函数只能执行一次。所以我直接将这个函数放在了构造函数中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: "debug assertion failed" 是 Visual Studio 中的一个错误提示,表示程序在运行时发生了断言失败的错误。这通常是由于程序中的某个条件不满足而导致的。要解决这个问题,需要检查程序中的代码,找出导致断言失败的原因,并进行修复。可以使用调试工具来帮助定位问题,例如使用断点来逐步执行代码,或者使用日志记录来跟踪程序的执行过程。 ### 回答2: 当使用Visual Studio编写程序时,有时会在运行程序时遇到“debug assertion failed”(调试断言失败)的错误提示。这种错误提示通常是由于程序中的某些代码出现了错误或逻辑错误而导致的。在大多数情况下,这种错误提示是由于代码中存在内存访问错误或其他操作错误导致的。 针对这种错误,我们需要进行排查和解决。具体步骤如下: 1. 首先,我们需要仔细阅读错误提示,并查看错误信息,了解问题的具体位置和原因。错误提示通常会提供一些相关的调试信息,例如错误代码行、函数名称等等。我们需要仔细分析这些信息,找出具体的问题所在。 2. 接下来,我们可以尝试使用调试工具来定位错误。Visual Studio提供了很多强大的调试工具,例如调试窗口、断点等等。我们可以在代码中设定断点,利用调试工具来调试程序运行过程中的变量和参数,了解代码在运行过程中的具体情况。 3. 如果我们已经找到了错误的位置,我们可以尝试更改或修复错误的代码。我们需要谨慎地进行修改,并测试程序是否能够正确运行。我们还可以使用代码分析器等工具来帮助我们找出代码中存在的问题,例如内存泄漏、访问越界等等。 总之,当我们在使用Visual Studio编写程序时,发现出现了“debug assertion failed”错误的提示时,我们需要注意及时定位和解决问题,以确保程序的正确运行。通过仔细分析错误提示、使用调试工具和代码分析器等工具,我们能够快速有效地排查和解决这种类型的错误。 ### 回答3: 当我们在使用 Visual Studio 开发程序时,有时候会遇到一个错误提示,即 debug assertion failed。这是一种调试级别的错误信息,通常表示我们的程序在某一处发生了异常。 debug assertion failed 错误通常会伴随着一条具体的提示信息,例如: ``` Debug Assertion Failed! Program: C:\Windows\System32\calc.exe File: c:\program files (x86)\microsoft visual studio 11.0\vc\include\xstring Line: 1149 Expression: string subscript out of range ``` 这条信息告诉我们,程序在调用某个字符串相关的代码时,出现了一个下标越界的异常。 解决 debug assertion failed 错误通常需要我们进行调试。如果错误提示中提供了具体的文件路径和行号,我们可以打开对应的文件,查看该行代码。如果这行代码和我们程序中的某个函数相关,我们可以加上一些日志调试代码,在运行时打印出变量的值,从而找出问题。 如果我们无法确定具体的错误原因,可以采取以下步骤: 1. 检查程序是否有内存泄漏或其他资源泄漏问题。 2. 尝试重新编译程序,确保代码没有错误或问题。 3. 使用调试器调试程序。在 Visual Studio 中,我们可以设置断点、单步执行代码、查看变量值等等。 4. 如果 debug assertion failed 错误仍然无法解决,我们可以尝试寻求专业的帮助,例如咨询 Microsoft 官方技术支持或其他开发人员的建议。 综上所述,debug assertion failed 错误是一种常见的调试级别错误,通常表明程序发生了异常,需要我们进行调试和解决。在解决这类错误时,我们可以利用调试器、日志调试等多种方法,以便更准确地找出问题所在。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布丁小站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值