Поиск утечек памяти в реальном времени
От: Losar Россия  
Дата: 10.08.11 10:19
Оценка:
Привет..

Существуют ли софтины для поиска утечек памяти в реальном времени? Желательно не монстры на 200 метров, неважно платные или нет.

Спасибо.
Re: Поиск утечек памяти в реальном времени
От: panter_dsd Россия panter-dsd.narod.ru
Дата: 10.08.11 10:38
Оценка:
Да, Valgrind. Он и еще много чего может.
С уважением.
Пантер.
Re[2]: Поиск утечек памяти в реальном времени
От: BuildAll Россия  
Дата: 10.08.11 11:05
Оценка:
Здравствуйте, panter_dsd, Вы писали:

_>Да, Valgrind. Он и еще много чего может.


он же только для линух? нэ?
Re: Поиск утечек памяти в реальном времени
От: Слава Израиль  
Дата: 10.08.11 11:12
Оценка:
Здравствуйте, Losar, Вы писали:

L>Привет..


L>Существуют ли софтины для поиска утечек памяти в реальном времени? Желательно не монстры на 200 метров, неважно платные или нет.


L>Спасибо.


UMDH — Часть Debugging Tools for Windows
Спасибо за внимание
Re[3]: Поиск утечек памяти в реальном времени
От: panter_dsd Россия panter-dsd.narod.ru
Дата: 10.08.11 11:19
Оценка: 1 (1)
Здравствуйте, BuildAll, Вы писали:

BA>Здравствуйте, panter_dsd, Вы писали:


_>>Да, Valgrind. Он и еще много чего может.


BA>он же только для линух? нэ?


Вроде, да. Но оговорки про ОС не было.
С уважением.
Пантер.
Re: Поиск утечек памяти в реальном времени
От: TimurSPB Интернет  
Дата: 10.08.11 11:36
Оценка:
http://software.intel.com/en-us/articles/intel-inspector-xe/
Make flame.politics Great Again!
Re: Поиск утечек памяти в реальном времени
От: Pavel Dvorkin Россия  
Дата: 10.08.11 11:45
Оценка: 1 (1)
Здравствуйте, Losar, Вы писали:

L>Существуют ли софтины для поиска утечек памяти в реальном времени? Желательно не монстры на 200 метров, неважно платные или нет.


Маленький коммент. Строго говоря, некорректно говорить об утечках памяти, пока программа не вышла на функцию окончания процесса (ExitProcess для Windows).



void main()
{
  int *p = new int[100];
  // рабочий цикл
  return 0;


До выполнения return 0 — есть утечка или нет ?
With best regards
Pavel Dvorkin
Re[2]: Поиск утечек памяти в реальном времени
От: Losar Россия  
Дата: 10.08.11 11:57
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Losar, Вы писали:


L>>Существуют ли софтины для поиска утечек памяти в реальном времени? Желательно не монстры на 200 метров, неважно платные или нет.


PD>Маленький коммент. Строго говоря, некорректно говорить об утечках памяти, пока программа не вышла на функцию окончания процесса (ExitProcess для Windows).


PD>
PD>void main()
PD>{
PD>  int *p = new int[100];
PD>  // рабочий цикл
PD>  return 0; 
PD>


PD>До выполнения return 0 — есть утечка или нет ?


Да не корректно, но ....... требуется.
Re: Поиск утечек памяти в реальном времени
От: SleepyDrago Украина  
Дата: 10.08.11 12:25
Оценка:
Здравствуйте, Losar, Вы писали:

L>Привет..


L>Существуют ли софтины для поиска утечек памяти в реальном времени? Желательно не монстры на 200 метров, неважно платные или нет.


L>Спасибо.


2 неприятных момента:
* вам понадобятся символы к коду — это затрудняет поиск утечек в продакшене, который вы не контролируете целиком.
* на счет реального времени — ни эмуляция цпу (valgrind) ни сброс крупных snaphots на диск на реальное время не сильно похожи.

так что вполне возможно вам нужна кооперация самой программы. Чтобы нужная статистика о распределении памяти собиралась инкрементно и была доступна.
Re[2]: Поиск утечек памяти в реальном времени
От: AndrewJD США  
Дата: 10.08.11 16:33
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Маленький коммент. Строго говоря, некорректно говорить об утечках памяти, пока программа не вышла на функцию окончания процесса (ExitProcess для Windows).


PD>
PD>void main()
PD>{
PD>  int *p = new int[100];
PD>  // рабочий цикл
PD>  return 0; 
PD>


Это не утечка. Утечка — это когда память выделяется но к ней больше нельзя доступиться.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[3]: Поиск утечек памяти в реальном времени
От: Pavel Dvorkin Россия  
Дата: 10.08.11 16:38
Оценка:
Здравствуйте, AndrewJD, Вы писали:


AJD>Это не утечка. Утечка — это когда память выделяется но к ней больше нельзя доступиться.


А это, строго говоря, не контролируемо.


int main()
{
  int* p = new int [100];
  memory_stream << p;
  p = new int [200];
  // можно к первому блоку добраться или нет ?
}
With best regards
Pavel Dvorkin
Re[2]: Поиск утечек памяти в реальном времени
От: Vamp Россия  
Дата: 10.08.11 20:45
Оценка:
PD>Маленький коммент. Строго говоря, некорректно говорить об утечках памяти, пока программа не вышла на функцию окончания процесса (ExitProcess для Windows).

Это не так.
Есть железные случаи утечки, детектируемые до окончания процесса. Простейший пример:

int* p = new int(10);
p = new int(20);

Вот тебе и утечка.
Да здравствует мыло душистое и веревка пушистая.
Re[3]: Поиск утечек памяти в реальном времени
От: Pavel Dvorkin Россия  
Дата: 10.08.11 23:37
Оценка:
Здравствуйте, Vamp, Вы писали:

V>Это не так.

V>Есть железные случаи утечки, детектируемые до окончания процесса. Простейший пример:

V>
V>int* p = new int(10);
V>p = new int(20);
V>

V>Вот тебе и утечка.

Да, конечно, тут железно, но уж больно неинтересный случай.
With best regards
Pavel Dvorkin
Re: Поиск утечек памяти в реальном времени
От: uzhas Ниоткуда  
Дата: 11.08.11 06:45
Оценка:
Здравствуйте, Losar, Вы писали:

L>Привет..


L>Существуют ли софтины для поиска утечек памяти в реальном времени? Желательно не монстры на 200 метров, неважно платные или нет.

могу порекомендовать visual leak detector
и функции
UINT VLDReportLeaks ();
UINT VLDGetLeaksCount ();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.