堆损坏/坏分配问题立即在主
Heap Corruption / Bad Alloc Issues Immediately in Main
所以我一直在试图解决我的问题,有一段时间了,虽然我不能发布任何大量的源代码(NDA),但我可以发布一小块,我想得到一些关于什么可能导致这种问题的输入,因为程序开始。
int main(int aArgumentCount, char** aArguments)
{
LZ_CHECK_MEMORY_QXL;
LZ_CHECK_MEMORY_QXL;
LZ_CHECK_MEMORY_QXL;
LZ_CHECK_MEMORY_QXL;
// ... Etc
}
define所做的只是扩展成一个函数,分配一个大小为150000000的整数数组,然后在…之后立即删除它
然而,在我们的应用程序中,第一次/第二次调用该分配会立即导致std::bad_alloc崩溃。
有没有人有任何指针,我应该挖掘到找到这个问题?
std::bad_alloc
意味着程序不能分配您希望它分配的内存。150000000个整数(取决于您的系统和编译器)的大小为600 MiB或1.2 GiB。分配如此大小的单个内存块可能超出了您的操作系统的能力,因此失败也就不足为奇了。您将需要使用另一种数据结构,而不是单个巨型数组。
相关文章:
- 在c++中使用动态分配的问题
- C++中的移动分配出现问题.非法指令: 4.
- 在函数中分配内存时出现问题
- 使用同一类中的方法重新分配字段时出现问题
- 使用 NTAllocateVirtualMemory 和 GetProcAddress 的内存分配问题不起作用
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 使用 Libssh 将文件从服务器复制到客户端:分配文件复制目标路径时出现问题
- C++ DLL 堆内存分配问题
- 分配具有主参数类型的数组时出现问题
- 在C 中动态分配的内存的问题
- 未分配正在释放的指针 - 指针问题
- 使用STD :: MAP在数据及其性能问题中查找重复项.我可以预先分配吗?
- 单链表分配问题 (nullptr)
- C++函数问题中的数组分配
- 复制到新阵列时出现动态内存分配问题
- 我不知道为什么会发生堆损坏(关于内存分配问题)
- QFILE INIT/分配OP问题当对象是类成员时
- 使用队列和列表 STL 进行C++分配。在将数据填充到列表或队列中然后打印该数据时遇到问题
- C++内存管理问题(分配大量内存,但从不释放内存)
- 有问题分配字符串指针字符串值