| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > CMemoryException |
| Автор: vdm 6.3.2008, 17:16 |
| После нескольких вызовов подряд, wchar_t *wszNewStr1 = new wchar_t[(sizeof(wcsNewStr)+sizeof(buff))/sizeof(wchar_t)]; дебугер кидает хэндл ошибку Unhandled exception at 0x77e55dea in ммм.exe: Microsoft C++ exception: CMemoryException @ 0x02d6fa28. Как в дальнейшем от неё избавиться? |
| Автор: Earnest 6.3.2008, 19:01 |
| Найте причину и устранить |
| Автор: dizzy1984 7.3.2008, 06:39 | ||
? |
| Автор: Earnest 7.3.2008, 09:35 |
| Не будет VC на это ругаться (в смысле использование delete и delete[]). Скорее похоже на то, что vdm где-то выезжает за пределы выделенной памяти, что и обнаруживают отладочные версии delete/new. |
| Автор: vdm 7.3.2008, 10:12 | ||
Похоже ты прав. А как веделить динамическую память, чтобы дебугер не ругался? |
| Автор: vinter 7.3.2008, 10:19 |
| а ну так тут я накосячил, не совсем правильный пример привел wchar_t *wszNewStr1 = new wchar_t[(sizeof(wcsNewStr)+sizeof(buff))/sizeof(wchar_t) + 1]; |
| Автор: vdm 7.3.2008, 12:30 |
| хм.... на восьмой итерации постоянно кидает хэндл ошибку... всё равно. |
| Автор: Earnest 7.3.2008, 13:54 |
| Мы ведь не знаем, что ты с выделенной памятью делаешь. Ясно, что где-то что-то нарушаешь. Если не можешь найти из анализа кода, то попробуй использовать функцию _CrtCheckMemory(). Навтыкай вызовов в свой код и смотри, где орать будет, а потом уже разбирайся, почему. |