|
Опять про борьбу с утечками
|
|||
---|---|---|---|
#18+
Всем доброго дня, если в стеке вызовов при создании обьекта ещё можно догадаться откуда растут ноги у утечки то в таком случае: 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); Есть ли в такой ситуации вообще возможность устранить подобную утечку? Посоветуйте какой алгоритм борьбы с утечкой в таком случае следует использовать? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 16:41 |
|
Опять про борьбу с утечками
|
|||
---|---|---|---|
#18+
hlopotun Посоветуйте какой алгоритм борьбы с утечкой в таком случае следует использовать? fastMM4_Log F5BD9B [IdIOHandler.pas][IdIOHandler][TIdIOHandler.RegisterIOHandler][953] ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2022, 16:55 |
|
|
start [/forum/topic.php?fid=58&msg=40135692&tid=2036627]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 22ms |
total: | 157ms |
0 / 0 |