Уменьшить лимит памяти Visual Studio - PullRequest
0 голосов
/ 22 марта 2011

У меня есть проект, и я хотел бы вызвать некоторые исключения памяти, чтобы увидеть, где они происходят, без необходимости загружать файлы 2 ГБ. как мне это сделать?

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Просто запустите быстрый цикл, распределяя блоки памяти до тех пор, пока они не исчерпаются.

void* p;
do {
  p = malloc (1024 * 1024);
} while (p != NULL);
0 голосов
/ 22 марта 2011

Полагаю, вы говорите о 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, конечно, должна быть адаптирована к вашим потребностям - это зависит от того, где вы хотите проверить ошибки выделения памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...