Полагаю, вы говорите о 2ГБ ограничении 32-битной Windows. Если вы это сделаете - это может помочь:
просто предварительно выделите часть памяти, чтобы сгенерировать некоторую базовую нагрузку, например,
struct memwaste
{
char* m_ptr;
memwaste() : m_ptr(new char[1024*1024*104]) {} //waste 1 gb
~memwaste() { delete[] m_ptr }
}x;
добавить эту структуру в ваш код где-нибудь, и это "тратит" немного памяти (так называемая базовая нагрузка). Теперь вы можете запустить вашу программу. В конечном итоге это приведет к проблемам с выделением памяти.
Базовая загрузка memwast, конечно, должна быть адаптирована к вашим потребностям - это зависит от того, где вы хотите проверить ошибки выделения памяти.