Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для nebrit63
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 13

Оператор delete[]. Как исправить ошибку: Error HEAP CORRUPTED. Откуда утечка памяти?

08.02.2013, 17:26. Показов 1165. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
void SeeAllTimesAllProcs()
{
HANDLE SnapHNDL = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 StrucWthInfProcP32;
StrucWthInfProcP32.dwSize = sizeof(PROCESSENTRY32);
 
if(Process32First(SnapHNDL, &StrucWthInfProcP32))
{
FILETIME TimeNanoFT[4] = {0};
FILETIME TimeLocFT = {0};
SYSTEMTIME TimeSysST = {0};
 
do
{
HANDLE ProcHNDL = OpenProcess(PROCESS_ALL_ACCESS, 0, StrucWthInfProcP32.th32ProcessID);
 
if(ProcHNDL && GetProcessTimes(ProcHNDL, &TimeNanoFT[0], &TimeNanoFT[1], &TimeNanoFT[2], &TimeNanoFT[3]))
{
FileTimeToLocalFileTime(&TimeNanoFT[0], &TimeLocFT);
 
FileTimeToSystemTime(&TimeLocFT, &TimeSysST);
 
cout.setf(ios :: left);
 
char *StrP = "PID:";
char *StrPID = new char[strlen(StrP) + 10];
sprintf(StrPID, "%s %d", StrP, StrucWthInfProcP32.th32ProcessID);
cout.width(40); cout << StrPID;
 
char *StrFileExe = "FileEXE:";
char *StrEXENAME = new char[strlen(StrFileExe) + 20];
sprintf(StrEXENAME, "%s %ls", StrFileExe, StrucWthInfProcP32.szExeFile);
cout.width(40); cout << StrEXENAME;
 
char *StrTimeCreat = "Время создания:";
char *StrTimeProc = new char[strlen(StrTimeCreat) + 10];
sprintf(StrTimeProc, "%s %02d:%02d:%02d", StrTimeCreat, TimeSysST.wHour, TimeSysST.wMinute, TimeSysST.wSecond);
cout << StrTimeProc << endl << endl;
 
delete[] StrPID; StrPID = NULL;
delete[] StrEXENAME; StrEXENAME = NULL;
delete[] StrTimeProc; StrTimeProc = NULL;
CloseHandle(ProcHNDL);
}
else
{
cout << "Возникла ошибка открытия описателя процесса с PID: " << StrucWthInfProcP32.th32ProcessID << endl << endl;
CloseHandle(ProcHNDL);
}
}
while(Process32Next(SnapHNDL, &StrucWthInfProcP32));
}
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2013, 17:26
Ответы с готовыми решениями:

Не пойму как исправить ошибку: "fatal error C1060: compiler is out of heap space"
Написал программу , вроде никаких ошибок нету , но выдает fatal error C1060: compiler is out of heap space Что посоветуете сделать?

Утечка памяти. new/delete. Всё как доктор прописал, но не работает
Всем привет! Начну сразу с кода: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; class...

Утечка памяти и delete
Вот накопились вопросы про утечки памяти. 1) Как проявляется утечка памяти? На многих сайтах написано что если не удалять указатели то...

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
08.02.2013, 17:57
Цитата Сообщение от nebrit63 Посмотреть сообщение
Откуда утечка памяти?
Откуда уверенность в утечке? За исключением отсутствия
C++
1
CloseHandle(SnapHNDL);
всё нормально, никаких утечек нет.
1
 Аватар для nebrit63
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 13
08.02.2013, 18:14  [ТС]
Во время выполнения ошибка данная
Миниатюры
Оператор delete[]. Как исправить ошибку: Error HEAP CORRUPTED. Откуда утечка памяти?  
0
840 / 347 / 67
Регистрация: 20.11.2012
Сообщений: 809
08.02.2013, 18:41
Тут ошибка.

Цитата Сообщение от nebrit63 Посмотреть сообщение
C++
1
2
char *StrEXENAME = new char[strlen(StrFileExe) + 20];
sprintf(StrEXENAME, "%s %ls", StrFileExe, StrucWthInfProcP32.szExeFile);
Смотри сколько ты памяти выделяешь и сколько пишешь. Сообщение о том и говорит - что пишешь за пределы выделенного буфера.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2013, 18:41
Помогаю со студенческими работами здесь

Delete[] и утечка памяти
Как можно избежать вытока памяти? И вообще почкму криво работает? #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&lt;ctime&gt; ...

Утечка памяти, правильное использование new/delete
Здравствуйте. Написал программку, где работаю с передачей контейнера QList методом сигналов и слотов. Теперь ищу где накосячил с утечкой...

Утечка памяти в простейшей функции. Как исправить?
Простейший пример: function func(a : string;):TStringList; var i:integer; begin result:=TStringList.Create; for i := 0...

delete[] *pointer vs. delete pointer и утечка памяти
Здравствуйте! Есть класс &quot;умного&quot; указателя counted_ptr, который удаляет хранящийся в нём T* owned; только если кол-во владельцев...

Как исправить ошибку Parse error: syntax error, unexpected '[' in /home/a2900167/public_html/index.php on lin
Здравствуйте при заходе на свой сайт выдает ошибку Parse error: syntax error, unexpected ' вот эта строка что тут не так? 58...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru