gpt4 book ai didi

c++ - _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) 在 C++ 中崩溃

转载 作者:行者123 更新时间:2023-11-28 00:22:59 30 4
gpt4 key购买 nike

我有一个 Qt GUI 程序,我可以在其中单击一个按钮来加载/卸载许多停靠小部件。我有一个问题,当我单击按钮加载/卸载停靠小部件时,程序崩溃并说

Debug Assertion Failed, Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

并不是每次都这样。 (实际上很少发生。)当我检查 Windows 的事件日志时,它说应用程序因跨线程死锁而挂起。但是网上大部分人都说_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)是内存错误。我只是不知道发生了什么......

这是别人的一个非常大的程序,这个错误很少发生......我现在可以做什么来找到错误?

编辑:嗨,我有故障转储文件,我看到我的程序在调用堆栈的工作线程处停止:> ntdll.dll!_NtWaitForMultipleObjects@20() + 0x15 字节
如何追溯到程序真正停止的源代码?

最佳答案

这通常意味着您正试图访问 std 容器内的非法内存块。

要正确调试它,只需查看 Call Stack 窗口中的堆栈,查找堆栈直到找到您的代码,然后查看该值无效的原因。

关于c++ - _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) 在 C++ 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26550431/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com