powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Опять про борьбу с утечками
2 сообщений из 2, страница 1 из 1
Опять про борьбу с утечками
    #40135692
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня,

если в стеке вызовов при создании обьекта ещё можно догадаться откуда растут ноги у утечки то в таком случае:
fastMM4_Log
--------------------------------2022/2/21 14:02:47--------------------------------
Ein Speicherblock hat Speicher verloren. Die Grφίe ist: 36

This block was allocated by thread 0x3410, and the stack trace (return addresses) at the time was:
409D2A [System.pas][System][@GetMem$qqri][4840]
40C63B [System.pas][System][TObject.NewInstance][17837]
40CD76 [System.pas][System][@ClassCreate$qqrpvzc][19227]
6582D2 [System.SyncObjs.pas][System.SyncObjs][Syncobjs.TCriticalSection.Create][1089]
40C644 [System.pas][System][TObject.NewInstance][17837]
F69D67 [IdThreadSafe.pas][IdThreadSafe][TIdThreadSafe.Create][253]
251D49D
40E020 [System.pas][System][InitUnits$qqrv][23822]
40E08C [System.pas][System][@StartExe$qqrp23System.PackageInfoTablep17System.TLibModule][23897]
416DBF [SysInit.pas][SysInit][@InitExe$qqrpv][1535]
2520D33

Der Block wird momentan fόr eine Objektklasse benutzt TIdCriticalSection

The allocation number is: 4070

Aktueller Speicherauszug von 256 Bytes, beginnend ab Zeigeradresse 7FCB53E0:
00 2B F0 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 D0 07 00 02 00 00 00 00
FE 54 2A 78 78 6F 55 02 00 00 00 00 21 56 CB 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
E7 0F 00 00 2A 9D 40 00 3B C6 40 00 76 CD 40 00 12 09 F7 00 13 9D 40 00 D1 D4 51 02 20 E0 40 00
8C E0 40 00 BF 6D 41 00 33 0D 52 02 29 FA 6B 76 10 34 00 00 10 34 00 00 46 9D 40 00 59 C6 40 00
C1 CD 40 00 AC 68 52 00 4F C7 40 00 76 09 F7 00 B4 DF 40 00 05 E4 40 00 44 0F 52 02 29 FA 6B 76
9E 7A 9B 77 1C 00 00 00 B8 06 F7 00 18 67 B7 F1 84 6C 55 02 78 6F 55 02 78 6F 55 02 78 6F 55 02
78 6F 55 02 78 6F 55 02 78 6F 55 02 E7 98 48 0E 78 6F 55 02 78 6F 55 02 00 00 00 00 71 55 CB 7F
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EA 0F 00 00 99 9D 40 00 6B 1D 41 00 D3 EC 43 00
. + π .         . . . . . . . . . . . . Π . . . . . . .
ώ T * x x o U . . . . . ! V Λ  . . . . . . . . . . . . . . . .
η . . . *  @ . ; Ζ @ . v Ν @ . . . χ . .  @ . Ρ Τ Q . ΰ @ .
Œ ΰ @ . Ώ m A . 3 . R . ) ϊ k v . 4 . . . 4 . . F  @ . Y Ζ @ .
Α Ν @ . ¬ h R . O Η @ . v . χ . ΄ ί @ . . δ @ . D . R . ) ϊ k v
ž z › w . . . . Έ . χ . . g · ρ „ l U . x o U . x o U . x o U .
x o U . x o U . x o U . η ˜ H . x o U . x o U . . . . . q U Λ 
. . . . . . . . . . . . . . . . κ . . . ™  @ . k . A . Σ μ C .

--------------------------------2022/2/21 14:02:47--------------------------------
Ein Speicherblock hat Speicher verloren. Die Grφίe ist: 36

This block was allocated by thread 0x3410, and the stack trace (return addresses) at the time was:
409D2A [System.pas][System][@GetMem$qqri][4840]
40C63B [System.pas][System][TObject.NewInstance][17837]
40CD76 [System.pas][System][@ClassCreate$qqrpvzc][19227]
6582D2 [System.SyncObjs.pas][System.SyncObjs][Syncobjs.TCriticalSection.Create][1089]
F072E0 [IdGlobal.pas][IdGlobal][LoadLibFunction$qqrxuix20System.UnicodeString][4485]
251D317
40E020 [System.pas][System][InitUnits$qqrv][23822]
40E08C [System.pas][System][@StartExe$qqrp23System.PackageInfoTablep17System.TLibModule][23897]
416DBF [SysInit.pas][SysInit][@InitExe$qqrpv][1535]
2520D33
766BFA29 [BaseThreadInitThunk]

Der Block wird momentan fόr eine Objektklasse benutzt TIdCriticalSection

The allocation number is: 4051

Aktueller Speicherauszug von 256 Bytes, beginnend ab Zeigeradresse 7FCD1C20:
00 2B F0 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 D0 07 00 02 00 00 00 00
AC 27 DE 0C 78 6F 55 02 00 00 00 00 31 D6 CC 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D7 0F 00 00 2A 9D 40 00 C7 E5 40 00 F8 E7 40 00 FA 55 47 00 51 1C 98 77 F6 88 99 77 7B 8C 99 77
51 1C 98 77 F6 88 99 77 7B 8C 99 77 3C 6E 99 77 10 34 00 00 10 34 00 00 81 E6 40 00 D8 53 47 00
30 54 47 00 7A 56 47 00 5A 59 47 00 B4 DF 40 00 05 E4 40 00 44 0F 52 02 29 FA 6B 76 9E 7A 9B 77
6E 7A 9B 77 22 00 00 00 B0 04 02 00 4B 2C DE 2F 84 6C 55 02 78 6F 55 02 78 6F 55 02 78 6F 55 02
78 6F 55 02 78 6F 55 02 78 6F 55 02 78 6F 55 02 78 6F B4 D3 21 D0 55 02 00 00 00 00 61 1E CD 7F
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DC 0F 00 00 2A 9D 40 00 C7 E5 40 00 54 EA 40 00
. + π .         . . . . . . . . . . . . Π . . . . . . .
¬ ' ή . x o U . . . . . 1 Φ Μ  . . . . . . . . . . . . . . . .
Χ . . . *  @ . Η ε @ . ψ η @ . ϊ U G . Q . ˜ w φ ˆ ™ w { Œ ™ w
Q . ˜ w φ ˆ ™ w { Œ ™ w < n ™ w . 4 . . . 4 . .  ζ @ . Ψ S G .
0 T G . z V G . Z Y G . ΄ ί @ . . δ @ . D . R . ) ϊ k v ž z › w
n z › w " . . . ° . . . K , ή / „ l U . x o U . x o U . x o U .
x o U . x o U . x o U . x o U . x o ΄ Σ ! Π U . . . . . a . Ν 
. . . . . . . . . . . . . . . . ά . . . *  @ . Η ε @ . T κ @ .

--------------------------------2022/2/21 14:02:47--------------------------------
Ein Speicherblock hat Speicher verloren. Die Grφίe ist: 20

This block was allocated by thread 0x3410, and the stack trace (return addresses) at the time was:
409D2A [System.pas][System][@GetMem$qqri][4840]
40C63B [System.pas][System][TObject.NewInstance][17837]
40CD76 [System.pas][System][@ClassCreate$qqrpvzc][19227]
F69D4E [IdThreadSafe.pas][IdThreadSafe][TIdThreadSafe.Create]
F5BD9B [IdIOHandler.pas][IdIOHandler][TIdIOHandler.RegisterIOHandler][953]
251D49D
40E020 [System.pas][System][InitUnits$qqrv][23822]
40E08C [System.pas][System][@StartExe$qqrp23System.PackageInfoTablep17System.TLibModule][23897]
416DBF [SysInit.pas][SysInit][@InitExe$qqrpv][1535]
2520D33
766BFA29 [BaseThreadInitThunk]

Der Block wird momentan fόr eine Objektklasse benutzt TIdThreadSafeInteger

The allocation number is: 4069

Aktueller Speicherauszug von 256 Bytes, beginnend ab Zeigeradresse 7FD15ED0:
0C 8B F6 00 E0 53 CB 7F 00 00 00 00 00 00 00 00 8A DB 68 01 78 6F 55 02 00 00 00 00 91 5F D1 7F
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E9 0F 00 00 2A 9D 40 00 3B C6 40 00 76 CD 40 00
20 C7 40 00 ED D4 51 02 20 E0 40 00 8C E0 40 00 BF 6D 41 00 33 0D 52 02 29 FA 6B 76 9E 7A 9B 77
10 34 00 00 10 34 00 00 46 9D 40 00 59 C6 40 00 C1 CD 40 00 A5 48 52 00 4F C7 40 00 EE 98 F7 00
B4 DF 40 00 05 E4 40 00 44 0F 52 02 29 FA 6B 76 9E 7A 9B 77 14 00 00 00 F0 95 F7 00 50 0C 63 68
84 6C 55 02 78 6F 55 02 78 6F 55 02 78 6F 55 02 78 6F 55 02 AF F3 9C 97 00 00 00 00 31 60 D1 7F
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EC 0F 00 00 2A 9D 40 00 C7 E5 40 00 54 EA 40 00
38 70 52 00 15 9D 52 00 B7 98 F7 00 C1 D6 51 02 20 E0 40 00 8C E0 40 00 BF 6D 41 00 33 0D 52 02
. ‹ φ . ΰ S Λ  . . . . . . . . Š Ϋ h . x o U . . . . . ‘ _ Ρ 
. . . . . . . . . . . . . . . . ι . . . *  @ . ; Ζ @ . v Ν @ .
Η @ . ν Τ Q . ΰ @ . Œ ΰ @ . Ώ m A . 3 . R . ) ϊ k v ž z › w
. 4 . . . 4 . . F  @ . Y Ζ @ . Α Ν @ . ¥ H R . O Η @ . ξ ˜ χ .
΄ ί @ . . δ @ . D . R . ) ϊ k v ž z › w . . . . π • χ . P . c h
„ l U . x o U . x o U . x o U . x o U . ― σ œ — . . . . 1 ` Ρ 
. . . . . . . . . . . . . . . . μ . . . *  @ . Η ε @ . T κ @ .
8 p R . .  R . · ˜ χ . Α Φ Q . ΰ @ . Œ ΰ @ . Ώ m A . 3 . R .


не очень понятно как быть. Объекты создаются до того как начал работать собственный код и сидят где то в глубине Indy (в данном случае в критической секции) и System. Возможно происходит сие при создании и инциализации обьектов но как в данном случае определить каких. Особенно если действо происходит где то в system.pas в _StartExe(InitTable, @Module);
Есть ли в такой ситуации вообще возможность устранить подобную утечку?
Посоветуйте какой алгоритм борьбы с утечкой в таком случае следует использовать?

Спасибо
...
Рейтинг: 0 / 0
Опять про борьбу с утечками
    #40135697
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotun
Посоветуйте какой алгоритм борьбы с утечкой в таком случае следует использовать?
Для начала смотреть, что происходит здесь
fastMM4_Log
F5BD9B [IdIOHandler.pas][IdIOHandler][TIdIOHandler.RegisterIOHandler][953]
На 953 строке, по идее, создается объект TIdThreadSafe. Дальше смотрите где он уничтожается
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Опять про борьбу с утечками
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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