Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/14: Рейтинг темы: голосов - 14, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.07.2006
Сообщений: 10

Каждые 5 минут коннектится на фтп и оставляет там файл. Утечка памяти.

26.07.2006, 01:36. Показов 2727. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста.
Есть сервис nt.
Попробую передать основной смысл, чтоб не грузить ненужным кодом.

// обработчик
void ServHandler(DWORD Opcode)
{
InitArr();
while (Status == "'Running'")
{
// Засыпаем на 5 минут
Sleep(60000*5);
Function();
}
KillArr();
}

InitArr() - выделение памяти.
KillArr() - освобождение.

В Function():
1) WSAStartup(MAKEWORD(1, 1), &wd); - инициализация винсока.
WSACleanup(); - тож присутствует.
2) Работа со строками: strcpy, strlen
3) HINTERNET hInternet = .....
hInternetFile = InternetConnect(hInternet.....
И соответственно:
InternetCloseHandle(hInternetFile);
InternetCloseHandle(hInternet);

Смысл сервиса:
Каждые 5 минут коннектится на фтп и оставляет там файл.

Ситуация следующая. Отслеживал память в диспетчере.
Запуск сервиса - 2024 КБ
1 коннект - 3936 КБ
2 коннект - 4012 КБ
3 коннект - 4012 КБ
сейчас уже 7 и всё ещё 4012 КБ.
При всех коннектах результат тот же и работа во всех случаях правильная.

Прошу прощения за скорее всего глупые вопросы, но всё же интересно, что же происходит?

Стоит ли ожидать последующего увеличения расхода памяти и можно ли доверять диспетчеру задач.
ПросвЯтите плиз.

С уважением, Дмитрий
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2006, 01:36
Ответы с готовыми решениями:

Каждые 30 минут открывать последний файл *.pdf, который попал в папку
Здравствуйте, Есть следующая задача, каждые 30 минут в папке (допустим на рабочем столе) появляется .pdf файл (каждий раз разное имя...

Сохранять значения ячеек в txt файл по расписанию, или периодично каждые 10 минут - как реализовать?
подскажите как реализовать. или функционалом екселя, или через VBA. суть такая: есть одна ячейка (для простоты рассмотрим только...

Блокировать интернет-соединение каждые 40 минут на 20 минут
Не знаю сюда ли пишу, недавно поставил линукс. Напишите/подскажите как можно написать скрипт, который блокирует интернет соединение каждые...

4
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
26.07.2006, 16:38
Диспетчеру задач доверять нельзя.



Для проверки программы на утечку памяти стоит воспользоваться инструментами диагностики. Например, если ваша программа позволяет использование классов MFC библиотеки, то рекомендую воспользоваться встроенными механизмами - класс CMemoryState.



Вот здесь можно посмотреть примеры:

http://msdn2.microsoft.com/en-... 2wh64.aspx

http://msdn2.microsoft.com/en-... 2ycx7.aspx



Удачи,

Владимир


0
0 / 0 / 0
Регистрация: 25.07.2006
Сообщений: 10
26.07.2006, 21:41  [ТС]
boombastik (26.07.2006)
Диспетчеру задач доверять нельзя.

Для проверки программы на утечку памяти стоит воспользоваться инструментами диагностики. Например, если ваша программа позволяет использование классов MFC библиотеки, то рекомендую воспользоваться встроенными механизмами - класс CMemoryState.

Вот здесь можно посмотреть примеры:
http://msdn2.microsoft.com/en-... 2wh64.aspx
http://msdn2.microsoft.com/en-... 2ycx7.aspx

Удачи,
Владимир
Спасибо, Владимир, но у меня всё без mfc и очень бы нехотелось с ним сейчас связываться. Что делать в этом случае?
С Уважением, Дмитрий
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
27.07.2006, 14:30
Например вот так: http://www.flipcode.com/articl... eaks.shtml



Вкратце, скомпилировать программу в Debug-режиме использовать функцию DumpUnfreed() в момент, когда ты считаешь, что вся память уже освобождена, увидишь список неосвобожденных переменных.



Можно использовать профессиональные инструменты поп поиску memory leaks и анализу приложения в целом, так называемые профайлеры. Что-нибудь типа такого:

http://www.codeproject.com/tools/leakfinder.asp

http://www.automatedqa.com/products/aqtime/

http://www.lw-tech.com/

http://www.glowcode.com/summary.htm



и др. погугли, я не знаю какой профайлер считается лучшим для VC++



Удачи,

Владимир
0
0 / 0 / 0
Регистрация: 25.07.2006
Сообщений: 10
27.07.2006, 21:50  [ТС]
Спасибо!
Теперь вижу, куда нужно рыть.
С уважением, Дмитрий
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2006, 21:50
Помогаю со студенческими работами здесь

Программа фтп-клиент скачивает файл с большим размером, чем он есть на фтп-сервере
Здравствуйте! Есть программа фтп-клиент, работает через консоль под Linux, после подключения к серверу и команды get происходит скачивание...

HttpWebRequest, расход памяти непомерно больших объемов и , как следствие, утечка памяти
Добрый вечер. Мне была поставлена такая задача. Написать приложение, которая загружает из списка ссылки с сайта и ищет там определенную...

Вектор, утечка памяти, функция создания и выделение памяти
Здравствуйте. Есть проблема. функция malloc выделяет память лишь в функции CreateVector(), и при выходе из нее указатель теряется. Или не...

Выключается ПК каждые 20-30 минут
Железо: Материнская плата ASUS ROG Maximus VI Formula Процессор Intel Core i7 - 4770K OEM Элемент водяного охлаждения Zalman...

Реклама каждые 20-30 минут
Хром просто так открывает рекламу каждые 20-30 минут даже при закрытом браузере.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru