gpt4 book ai didi

c++ - HEAP_NO_SERIALIZE 堆中的多线程访问

转载 作者:搜寻专家 更新时间:2023-10-31 01:14:45 25 4
gpt4 key购买 nike

我们的应用程序因以下错误而崩溃。

===========================================================
VERIFIER STOP 00000003: pid 0x2E54: multithreaded access in HEAP_NO_SERIALIZE heap
00161000 : Heap handle
00001444 : Thread owning heap lock
00003188 : Current thread trying to acquire the heap lock
00000000 :
===========================================================

我们为应用程序启用了整页堆。应用程序在随机位置崩溃。崩溃位置通常是 STL 的内部.在所有情况下,调用堆栈似乎都已损坏。

应用程序使用一系列库和 DLL 文件。所有 DLL 文件和库都是使用多线程 DLL 库(命令行选项 /MD)构建的。

其中一个库正在使用 HeapAlloc在堆中分配内存的方法。

我应该使用什么技术来识别崩溃?

最佳答案

通过在 WinDbg 下运行您的程序,您似乎已经完成了。

通过 Google 快速搜索错误消息中有趣的部分,找到了 MSDN 文章 Multithreaded Access In A HEAP_NO_SERIALIZE Heap ,这向我暗示您正在加载的某些模块与单线程 CRT 相关联。

我会检查您项目的每个部分以及所有项目设置,非常仔细地验证所有内容是否真正使用了 MD 库。有些东西可能是静态链接的。

关于c++ - HEAP_NO_SERIALIZE 堆中的多线程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950424/

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