Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Что есть по диагностике потребления памяти приложением? / 25 сообщений из 28, страница 1 из 2
02.03.2019, 08:41
    #39781301
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Попросили разобраться с приложением падающем именно на семерке из за нехватки памяти.
При работе приложения, перебирая мышкой или клавой ноды дерева память процесса рабочего стола растет геометрической прогрессией. dwm.exe
Потом заканчивается.
Этот же экзешник на 8ке - память растет но не так быстро.
Собрано все давно на студии 2010.
- старая Net может влиять?
- хорошо бы иметь средство просмотра "имя класса - сколько экземпляров и памяти".....?
Пока не торопясь копаю. Проект даже еще не скомпилил из хранилища).
...
Рейтинг: 0 / 0
02.03.2019, 08:56
    #39781302
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123,

сними дамп процесса да посмотри в WinDbg
...
Рейтинг: 0 / 0
02.03.2019, 09:02
    #39781303
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
В самой студии есть возможность открыть dump для анализа памяти.

Есть CLR Profiler от Microsoft и сторонние решения: dotMemory от JetBrains, ANTS Memory Profiler от Red Gate, .NET Memory Profiler от SciTech
...
Рейтинг: 0 / 0
02.03.2019, 09:06
    #39781304
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
...
Рейтинг: 0 / 0
02.03.2019, 09:16
    #39781305
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
В Performance Monitor множество Counters про память и сборщик мусора.

Вообщем анализируй не хочу :)
...
Рейтинг: 0 / 0
02.03.2019, 09:32
    #39781307
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Ну и конечно документация:

Visual Studio provides a variety of profiling tools to help you diagnose different kinds of performance issues depending on your app type.

https://docs.microsoft.com/en-us/visualstudio/profiling/profiling-feature-tour
https://docs.microsoft.com/en-us/visualstudio/profiling/memory-usage
...
Рейтинг: 0 / 0
02.03.2019, 14:56
    #39781347
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123,

какой то тупой обработчик срабатывает рекурсивно
...
Рейтинг: 0 / 0
04.03.2019, 10:22
    #39781750
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
ViPRosPetro123,

какой то тупой обработчик срабатывает рекурсивнону память то этого не может расти.
Я пока ищу, как говори тут один мембер: "подключил, пошуршало пошуршало и выдало что в памяти 15000 экземпляров TreeNodePetro.
Тогда будет ясно возле чего искать, как ты говоришь, обрабочик-ссылку.
Думаю для такой фигни не нужен платный профилировщик.
Еще желательно, не в ide наверное. Так как придется смотреть на разных осях. На 8-ке нет утечки.
Работаю.
...
Рейтинг: 0 / 0
04.03.2019, 10:56
    #39781771
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
https://github.com/fremag/MemoScope.Net
данная тула очень выручала, понятный и интуитивный интерфейс
...
Рейтинг: 0 / 0
04.03.2019, 11:27
    #39781791
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Roman Mejtes https://github.com/fremag/MemoScope.Net
данная тула очень выручала, понятный и интуитивный интерфейсок.
Смотрю. Именно простота нужна.
...
Рейтинг: 0 / 0
04.03.2019, 11:51
    #39781801
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123Думаю для такой фигни не нужен платный профилировщик.
Еще желательно, не в ide наверное. Так как придется смотреть на разных осях. На 8-ке нет утечки.Снять дамп, открыть в WinDbg, подключить бесплатный CLR Profiler, использовать CLR MD - это всё бесплатно.

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

Petro123Работаю.Работай :)
...
Рейтинг: 0 / 0
04.03.2019, 11:52
    #39781804
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Roman Mejtes https://github.com/fremag/MemoScope.Net
данная тула очень выручала, понятный и интуитивный интерфейс
Вот уже и обёрточку написали над WinDbg и CLR MD. Вообще халява.

Осталось снять дамп и открыть.
...
Рейтинг: 0 / 0
04.03.2019, 12:32
    #39781841
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123,

dotMemory
...
Рейтинг: 0 / 0
05.03.2019, 10:41
    #39782381
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Roman Mejtes https://github.com/fremag/MemoScope.Net
данная тула очень выручала, понятный и интуитивный интерфейсправильно я понял, что работает только с дампами? Нет в меню - запустить ехе?
....
Как я понимаю, все что есть на рынке с запуском ехе - платное).
Счас юзаю платное Scitech .Net Memory Profiler. Очень круто в плане WYSIWYG и реалтайм бегущими цифрами объектов.
Но.... Платное)))))

hVosttPetro123,

dotMemory
Блин, красиво, но триал всего 5 дней!
))
...
Рейтинг: 0 / 0
05.03.2019, 12:17
    #39782421
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Возможно в Net такое?
Я примерно знаю где баг.
При переходе по нодам дерева, справа появляется новое окно Properties этого нода.
Возможно эти 300 окон не овобождаются винде и растет память диспетчера окон винды.
Окно вижу в Spy
Код: c#
1.
2.
Handle 00093C8
Class Name WindowsForms10. Window. 8.app.0.754677f_r12_ad1

Как это окно или класс Net найти в любом профайлере?
В обоих выше не нашел.
Есть связь этих классов и классов Net?
...
Рейтинг: 0 / 0
05.03.2019, 13:17
    #39782469
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123Roman Mejtes https://github.com/fremag/MemoScope.Net
данная тула очень выручала, понятный и интуитивный интерфейсправильно я понял, что работает только с дампами? Нет в меню - запустить ехе?
....
Как я понимаю, все что есть на рынке с запуском ехе - платное).
Счас юзаю платное Scitech .Net Memory Profiler. Очень круто в плане WYSIWYG и реалтайм бегущими цифрами объектов.
Но.... Платное)))))

hVosttPetro123,

dotMemory
Блин, красиво, но триал всего 5 дней!
))сделать дамп религия не позволяет? Dump делается нажатием 1 кнопки через стандартные средства windows

Ctrl + Escape -> Detail (Process) -> Выбираете процесс -> ПКМ -> Контекстное меню, Create Dump File
...
Рейтинг: 0 / 0
05.03.2019, 15:23
    #39782549
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Roman Mejtes,
Да какая религия?
Просто пересел с коробки механика на автомат - понравилось.
...
Сделал. Ошибка при открытии:
Unable to find dac file
'mscordacwksz_Amd64_4.6.1590.00.dll' in symbol server.
...
Рейтинг: 0 / 0
05.03.2019, 15:28
    #39782552
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Roman Mejtes,
Прога от hVostt сказала сделать дамп Не 64бит
...
Рейтинг: 0 / 0
05.03.2019, 15:30
    #39782553
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Дамп делал осью
...
Рейтинг: 0 / 0
05.03.2019, 15:32
    #39782555
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123Счас юзаю платное Scitech .Net Memory Profiler. Очень круто в плане WYSIWYG и реалтайм бегущими цифрами объектов.
Но.... Платное)))))эта открыла без проблем)))
...
Рейтинг: 0 / 0
12.03.2019, 14:58
    #39784909
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
авторВ настоящее время невозможно изменить имя класса окна для формы Windows на C #, потому что реализация C # определяет его внутри метода ' private string GetFullClassName(string className)' и не дает программисту никакого способа переопределить значение, определенное внутри этого метода.
Вопрос прежний:
Есть утилиты которые покажут не только имя класса окна (spy++) но и имя класса Forms или UserControl наследника?
...
Рейтинг: 0 / 0
12.03.2019, 15:13
    #39784919
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
авторThe windows class is given a name in the form:

<windowsformsversion>.<windowstyle>.app<hexappdomainhash>
where <windowsformsversion> is the version of the library and is a fixed string ‘WindowsForms10’. <windowstyle> is in the form of Window.<hexstyle> where <hexstyle> is the style of the window (see Control.GetStyle()) in hex. Finally, <hexappdomainhash> is the hash code of the current app domain given in hex.

For example, a Form could have a class name like this:

WindowsForms10.Window.8.app1
Once the class has been registered it is stored in a cache, and this class is used the next time a form is created.

In fact, most Forms will have the class name I have just given; the only bit that will vary is the application domain portion of the name, or (occasionally) the style part. The big problem with this design is that it makes finding a window a pain. Win32 code can use FindWindowEx() to search for a window with a specific class name, and .NET code can call this method through a platform invoke. However, you cannot guarantee what the name will be (because you may not know what the application domain portion will be) and even if you could specify the name, all forms in the application domain will have the same class name regardless of the .NET class that was used to create the form.

In the next newsletter, I will identify a couple of solutions to this issue. I will also point out some other features of Windows Forms that can constrain how Win32 windowing functions and forms interact.
По прежнему ищу стать или утилиту типа spy+++
...
Рейтинг: 0 / 0
16.04.2019, 15:00
    #39802208
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123Возможно в Net такое?
Я примерно знаю где баг.
При переходе по нодам дерева, справа появляется новое окно Properties этого нода.
Возможно эти 300 окон не овобождаются винде и растет память диспетчера окон винды.

Дык освободи их!
...
Рейтинг: 0 / 0
16.04.2019, 15:22
    #39802219
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
Petro123ViPRosPetro123,

какой то тупой обработчик срабатывает рекурсивнону память то этого не может расти.
Я пока ищу, как говори тут один мембер: "подключил, пошуршало пошуршало и выдало что в памяти 15000 экземпляров TreeNodePetro .
Тогда будет ясно возле чего искать, как ты говоришь, обрабочик-ссылку.
Думаю для такой фигни не нужен платный профилировщик.
Еще желательно, не в ide наверное. Так как придется смотреть на разных осях. На 8-ке нет утечки.
Работаю.


может переименовать
...
Рейтинг: 0 / 0
16.04.2019, 15:25
    #39802224
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что есть по диагностике потребления памяти приложением?
ViPRosPetro123Возможно в Net такое?
Я примерно знаю где баг.
При переходе по нодам дерева, справа появляется новое окно Properties этого нода.
Возможно эти 300 окон не овобождаются винде и растет память диспетчера окон винды.

Дык освободи их!node дерева освобождается. И оно не содержит окно.
Вопрос уже решен.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Что есть по диагностике потребления памяти приложением? / 25 сообщений из 28, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]