Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
xadd
0 / 0 / 0
Регистрация: 25.07.2006
Сообщений: 10
#1

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

26.07.2006, 01:36. Просмотров 2073. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2006, 01:36
Ответы с готовыми решениями:

Таймер, запускающий выполнение функции каждые n минут
Необходим таймер, который будет Включать(Запускать) функцию каждые n-минут. ...

Утечка памяти
Доброго времени суток. Написал оконное приложение. Столкнулся с проблемой -...

Утечка памяти
В небольшой программе с использованием OpenCV происходит утечка памяти, с чем...

Утечка памяти
Подскажите, где здесь может возникать утечка памяти? Вроде везде, где можно -...

утечка памяти
если запустить код char *pointer = NULL; for( int i = 0; i < 10; i++ ) {...

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



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



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

http://msdn2.microsoft.com/en-us/library/8ky2wh64.aspx

http://msdn2.microsoft.com/en-us/library/x832ycx7.aspx



Удачи,

Владимир


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

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

Вот здесь можно посмотреть примеры:
http://msdn2.microsoft.com/en-us/library/8ky2wh64.aspx
http://msdn2.microsoft.com/en-us/library/x832ycx7.aspx

Удачи,
Владимир
Спасибо, Владимир, но у меня всё без mfc и очень бы нехотелось с ним сейчас связываться. Что делать в этом случае?
С Уважением, Дмитрий
0
boombastik
7 / 7 / 11
Регистрация: 13.02.2007
Сообщений: 1,255
27.07.2006, 14:30 #4
Например вот так: http://www.flipcode.com/articles/article_memoryleaks.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
xadd
0 / 0 / 0
Регистрация: 25.07.2006
Сообщений: 10
27.07.2006, 21:50  [ТС] #5
Спасибо!
Теперь вижу, куда нужно рыть.
С уважением, Дмитрий
0
27.07.2006, 21:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2006, 21:50

Утечка памяти
Помогите с кодом, вот написал реализацию стека по заданию. Преподаватель...

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

Утечка памяти
Здравствуйте! Я пишу длинную арифметику для целых чисел. Ниже - функция...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru