|
Замер использования памяти |
☑ |
0
Консультант Баранов
07.11.19
✎
12:33
|
Есть обработка. Раньше работала нормально. Сейчас зависает.
Циклично обрабатывает объекты и на некотором зависает.
Предполагаю, что какая-то ТЗ сильно разрастается. Как лучше отследить что могло сильно разрастись?
|
|
1
Ёпрст
гуру
07.11.19
✎
12:35
|
(0) Открыть для себя жуколов и замер производительности
|
|
2
Консультант Баранов
07.11.19
✎
12:47
|
(1) > жуколов
Что такое?
> замер производительности
Производительность ничего не дает.
Строка с самым большим временем: Параметры.ДАтаСпецификации = ДатаСпецификации.
|
|
3
ДенисЧ
07.11.19
✎
12:48
|
База скорее всего битай.
Сколько размер ТЗ, на которой виснет?
|
|
4
Консультант Баранов
07.11.19
✎
12:51
|
(3) В том то и дело что не могу отловить на чем виснет.
Объекты однотипные.
|
|
5
dka80
07.11.19
✎
12:54
|
пиши все объекты в журнал регистрации скопом
потом записывай по одному, кто последний, значит после него проблемный объект
|
|
6
H A D G E H O G s
07.11.19
✎
12:55
|
(0) Позовите специалиста.
|
|
7
H A D G E H O G s
07.11.19
✎
12:56
|
(1) Вот такие у нас программисты, которые даже трассировкой пользоваться не умеют.
|
|
8
sqr4
07.11.19
✎
12:58
|
(7) да там может цикл на пару сотен тысяч повторений, такое хрен отладишь)
|
|
9
H A D G E H O G s
07.11.19
✎
13:01
|
(8) шлепать, капать.
Включаешь трассу, запускаешь выполнение, ждешь пока зависнет, выключаешь трассу. Пробегаешься по трассированным строкам и там, где число выполнений будет на единичку меньше предыдущей строки - зависание.
|
|
10
ДенисЧ
07.11.19
✎
13:01
|
(8) Можно в лог писать. Где закончилось, там и зависло )
|
|
11
H A D G E H O G s
07.11.19
✎
13:02
|
Замер производительности - первейший элемент отладки чужого кода.
|
|
12
Консультант Баранов
07.11.19
✎
13:09
|
(10) Можно взять один и тот же набор данных. В одном случае на одном объекте, в другом случае на другом.
|
|
13
Консультант Баранов
07.11.19
✎
13:11
|
(11) Замер производительности ничего не дает. Я и так знаю что наибольшая нагрузка на разузловании.
В процессе обработки идет счетчик объектов. Зависает не на каком-то конкретном объекте, а на случайном.
|
|
14
H A D G E H O G s
07.11.19
✎
13:23
|
(13) Вы (9) внимательно читали?
|
|
15
sqr4
07.11.19
✎
14:08
|
(10) с логом я понял, а вот (13) тоже интересная штука, почувствовал себя тупым
|
|
16
Sapiens_bru
07.11.19
✎
16:35
|
(0) Как вариант разбить обработку по типам объектов или по порциям и возвращаться на клиент после очередной порции. Тогда в ТЖ можно будет собрать CALL со свойствами Mem и MemoryPeak. Заодно можно LEAKS настроить.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший