﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / C++  / Утечка Памяти / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Thu, 08 Jan 2009 06:56:37 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Утечка Памяти</title><link>http://relib.com/forums/Topic901405-7-1.aspx</link><description>Спасибо!&lt;/P&gt;&lt;P&gt;Теперь вижу, куда нужно рыть. :)&lt;/P&gt;&lt;P&gt;С уважением, Дмитрий</description><pubDate>Thu, 27 Jul 2006 17:50:55 GMT</pubDate><dc:creator>xadd</dc:creator></item><item><title>RE: Утечка Памяти</title><link>http://relib.com/forums/Topic901405-7-1.aspx</link><description>Например вот так: [url]http://www.flipcode.com/articles/article_memoryleaks.shtml[/url]&lt;br&gt;&lt;br&gt;Вкратце, скомпилировать программу в Debug-режиме использовать функцию DumpUnfreed() в момент, когда ты считаешь, что вся память уже освобождена, увидишь список неосвобожденных переменных.&lt;br&gt;&lt;br&gt;Можно использовать профессиональные инструменты поп поиску memory leaks и анализу приложения в целом, так называемые профайлеры. Что-нибудь типа такого:&lt;br&gt;[url]http://www.codeproject.com/tools/leakfinder.asp[/url]&lt;br&gt;[url]http://www.automatedqa.com/products/aqtime/[/url]&lt;br&gt;[url]http://www.lw-tech.com/[/url]&lt;br&gt;[url]http://www.glowcode.com/summary.htm[/url]&lt;br&gt;&lt;br&gt;и др. погугли, я не знаю какой профайлер считается лучшим для VC++&lt;br&gt;&lt;br&gt;Удачи,&lt;br&gt;Владимир</description><pubDate>Thu, 27 Jul 2006 10:30:19 GMT</pubDate><dc:creator>boombastik</dc:creator></item><item><title>RE: Утечка Памяти</title><link>http://relib.com/forums/Topic901405-7-1.aspx</link><description>[quote][b]boombastik (26.07.2006)[/b][hr]Диспетчеру задач доверять нельзя.&lt;BR&gt;&lt;BR&gt;Для проверки программы на утечку памяти стоит воспользоваться инструментами диагностики. Например, если ваша программа позволяет использование классов MFC библиотеки, то рекомендую воспользоваться встроенными механизмами - класс CMemoryState.&lt;BR&gt;&lt;BR&gt;Вот здесь можно посмотреть примеры:&lt;BR&gt;[url]http://msdn2.microsoft.com/en-us/library/8ky2wh64.aspx[/url]&lt;BR&gt;[url]http://msdn2.microsoft.com/en-us/library/x832ycx7.aspx[/url]&lt;BR&gt;&lt;BR&gt;Удачи,&lt;BR&gt;Владимир&lt;BR&gt;&lt;BR&gt;[/quote]&lt;/P&gt;&lt;P&gt;Спасибо, Владимир, но у меня всё без mfc и очень бы нехотелось с ним сейчас связываться. Что делать в этом случае?&lt;/P&gt;&lt;P&gt;С Уважением, Дмитрий</description><pubDate>Wed, 26 Jul 2006 17:41:15 GMT</pubDate><dc:creator>xadd</dc:creator></item><item><title>RE: Утечка Памяти</title><link>http://relib.com/forums/Topic901405-7-1.aspx</link><description>Диспетчеру задач доверять нельзя.&lt;br&gt;&lt;br&gt;Для проверки программы на утечку памяти стоит воспользоваться инструментами диагностики. Например, если ваша программа позволяет использование классов MFC библиотеки, то рекомендую воспользоваться встроенными механизмами - класс CMemoryState.&lt;br&gt;&lt;br&gt;Вот здесь можно посмотреть примеры:&lt;br&gt;[url]http://msdn2.microsoft.com/en-us/library/8ky2wh64.aspx[/url]&lt;br&gt;[url]http://msdn2.microsoft.com/en-us/library/x832ycx7.aspx[/url]&lt;br&gt;&lt;br&gt;Удачи,&lt;br&gt;Владимир&lt;br&gt;&lt;br&gt;</description><pubDate>Wed, 26 Jul 2006 12:38:31 GMT</pubDate><dc:creator>boombastik</dc:creator></item><item><title>Утечка Памяти</title><link>http://relib.com/forums/Topic901405-7-1.aspx</link><description>Помогите пожалуйста.&lt;BR&gt;Есть сервис nt.&lt;BR&gt;Попробую передать основной смысл, чтоб не грузить ненужным кодом.&lt;BR&gt;&lt;BR&gt;// обработчик&lt;BR&gt;void ServHandler(DWORD Opcode)&lt;BR&gt;{&lt;BR&gt;InitArr();&lt;BR&gt;while (Status == "'Running'")&lt;BR&gt;{&lt;BR&gt;// Засыпаем на 5 минут&lt;BR&gt;Sleep(60000*5);&lt;BR&gt;Function();&lt;BR&gt;}&lt;BR&gt;KillArr();&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;InitArr() - выделение памяти.&lt;BR&gt;KillArr() - освобождение.&lt;BR&gt;&lt;BR&gt;В Function():&lt;BR&gt;1) WSAStartup(MAKEWORD(1, 1), &amp;amp;wd); - инициализация винсока.&lt;BR&gt;WSACleanup(); - тож присутствует.&lt;BR&gt;2) Работа со строками: strcpy, strlen&lt;BR&gt;3) HINTERNET hInternet = .....&lt;BR&gt;hInternetFile = InternetConnect(hInternet.....&lt;BR&gt;И соответственно:&lt;BR&gt;InternetCloseHandle(hInternetFile);&lt;BR&gt;InternetCloseHandle(hInternet);&lt;BR&gt;&lt;BR&gt;Смысл сервиса:&lt;BR&gt;Каждые 5 минут коннектится на фтп и оставляет там файл.&lt;BR&gt;&lt;BR&gt;Ситуация следующая. Отслеживал память в диспетчере.&lt;BR&gt;Запуск сервиса - 2024 КБ&lt;BR&gt;1 коннект - 3936 КБ&lt;BR&gt;2 коннект - 4012 КБ&lt;BR&gt;3 коннект - 4012 КБ&lt;BR&gt;сейчас уже 7 и всё ещё 4012 КБ.&lt;BR&gt;При всех коннектах результат тот же и работа во всех случаях правильная.&lt;BR&gt;&lt;BR&gt;Прошу прощения за скорее всего глупые вопросы, но всё же интересно, что же происходит?&lt;BR&gt;&lt;BR&gt;Стоит ли ожидать последующего увеличения расхода памяти и можно ли доверять диспетчеру задач.&lt;BR&gt;ПросвЯтите плиз.&lt;BR&gt;&lt;BR&gt;С уважением, Дмитрий</description><pubDate>Tue, 25 Jul 2006 21:36:07 GMT</pubDate><dc:creator>xadd</dc:creator></item></channel></rss>