I'm currently testing an application that has to open big files in Application Verifier 6.3 for 64 bit systems. My application must be able to allocate around 100 - 200 MB of memory which worked nicely in debug and release mode before.
This is the code I use for allocating the memory:
[...]
char* fileStream;
try
{
fileStream = new char[fileLength]; // The fileLength is usually about 100 000 000 and 200 000 000
}
catch (std::bad_alloc& ba)
{
MessageBox(NULL, "Failed to allocate enough memory for the required operation", "Not enough memory", MB_ICONERROR | MB_OK);
return;
}
[...]
I added the Application to the Application Verifier and enabled all Basic Tests:
Now, strangely, new char[fileLength]
always returns NULL
for a file being 97 MB big! Which obviously caused access violations later on. So now I'm having more problems than before...
Does the Application Verifier apply some Heap Allocation limits by default? Can I disable them somehow?