Einzelnen Beitrag anzeigen

delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#1

Hilfestellung zu meinem Speicherleck

  Alt 9. Mai 2011, 18:00
Delphi-Version: 2010
Hallo Community,

in meinem Projekt arbeitet ich mit einem array aus TStringLists, welche ihren Inhalt aus verschiedenen Funktionen - Timer 3 sek Intervall - zugewiesen bekommen. Leider frisst meine Applikation bei jedem OnTimer-Ereignis 0.0XXK Speicher. Steigend.

Ich habe versucht, dem MemoryLeak mit FastMM4 auf die Schliche zu kommen, aber daraus werd ich nicht schlau.

Könnte mir jemand Hilfestellung geben (Log oder auch Source)?

Anbei ein Ausschnitt meines FastMM4Log:


Code:
This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
404FC3 
40555A
43B706 
406306 
4E4C91 
4EFA87 
4EFA25 
4EFA48 
4F035A
751C6D91 [Unknown function at GetThreadDesktop]

The block is currently used for an object of class: TStringList

The allocation number is: 65080

Current memory dump of 256 bytes starting at pointer address 7EF898A0:
94 F8 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 FB EB 7E
13 00 00 00 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 6A 9D 1B 1C 80 80 80 80 80 80 80 80 00 00 00 00 E0 4B F8 7E
00 00 00 00 00 00 00 00 D8 E9 40 00 00 00 00 00 08 11 01 00 E2 43 40 00 C3 4F 40 00 5A 55 40 00
06 B7 43 00 09 DB 40 00 5F 4B 4E 00 25 FA 4E 00 7B FB 4E 00 C5 FF 4E 00 04 FF 4E 00 4F 3E 4B 00
AC 0D 00 00 FE 43 40 00 E1 4F 40 00 A5 55 40 00 B5 8D 43 00 27 50 40 00 C5 69 4D 00 CA 77 4D 00
27 50 40 00 8A DA 4E 00 BA FF 4E 00 04 FF 4E 00 AC 0D 00 00 4C 00 00 00 A4 E7 4C 00 AB 62 AF 85
94 F8 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 FD EB 7E
”  ø  B . . . . . . . . . . . . . . . . . . . . . . . . .   û  ë  ~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . j   . . €  €  €  €  €  €  €  €  . . . . à  K ø  ~
. . . . . . . . Ø  é  @  . . . . . . . . . â  C @  . à O @  . Z U @  .
. ·  C . . Û  @  . _  K N . %  ú  N . {  û  N . Å  ÿ  N . . ÿ  N . O > K .
¬  . . . þ  C @  . á  O @  . ¥  U @  . µ    C . ' P @  . Å  i M . Ê  w M .
' P @  . Š  Ú  N . º  ÿ  N . . ÿ  N . ¬  . . . L . . . ¤  ç  L . «  b ¯  …
”  ø  B . . . . . . . . . . . . . . . . . . . . . . . . . . ý  ë  ~

--------------------------------2011/5/9 18:32:23--------------------------------
A memory block has been leaked. The size is: 84

This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
404FC3 
40555A
43B706 
40DB09 
4E4B5F
4EFA25 
4EFB7B
4EFFC5 
4EFF04 
4B3E4F

The block is currently used for an object of class: TStringList

The allocation number is: 69896

Current memory dump of 256 bytes starting at pointer address 7EF89980:
94 F8 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 FD EB 7E
13 00 00 00 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 54 9D 50 7A 80 80 80 80 80 80 80 80 00 00 00 00 E0 4B F8 7E
00 00 00 00 00 00 00 00 D8 E9 40 00 00 00 00 00 DC 15 01 00 E2 43 40 00 C7 74 40 00 04 6C 40 00
00 4C 4E 00 25 FA 4E 00 7B FB 4E 00 C5 FF 4E 00 04 FF 4E 00 4F 3E 4B 00 C9 3F 4B 00 C3 38 4B 00
AC 0D 00 00 FE 43 40 00 DD 62 40 00 1E 6C 40 00 FC 55 4E 00 1E 6C 40 00 0E 4C 4E 00 25 FA 4E 00
7B FB 4E 00 C5 FF 4E 00 04 FF 4E 00 4F 3E 4B 00 AC 0D 00 00 4E 00 00 00 B0 04 02 00 B4 29 8F 85
B0 04 02 00 01 00 00 00 20 00 00 00 46 00 6C 00 61 00 73 00 68 00 55 00 74 00 69 00 6C 00 36 00
”  ø  B . . . . . . . . . . . . . . . . . . . . . . . . . . ý  ë  ~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . T   P z €  €  €  €  €  €  €  €  . . . . à  K ø  ~
. . . . . . . . Ø  é  @  . . . . . Ü  . . . â  C @  . Ç  t @  . . l @  .
. L N . %  ú  N . {  û  N . Å  ÿ  N . . ÿ  N . O > K . É  ?  K . à 8  K .
¬  . . . þ  C @  . Ý  b @  . . l @  . ü  U N . . l @  . . L N . %  ú  N .
{  û  N . Å  ÿ  N . . ÿ  N . O > K . ¬  . . . N . . . °  . . . ´  )   …
°  . . . . . . .    . . . F . l . a . s . h . U . t . i . l . 6  .

--------------------------------2011/5/9 18:32:23--------------------------------
A memory block has been leaked. The size is: 84

This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
4074C7 
406C04 
4E4C00 
4EFA25 
4EFB7B
4EFFC5 
4EFF04 
4B3E4F
4B3FC9 
4B38C3 

The block is currently used for an object of class: UnicodeString

The allocation number is: 71132

Current memory dump of 256 bytes starting at pointer address 7EF89A60:
B0 04 02 00 01 00 00 00 20 00 00 00 46 00 6C 00 61 00 73 00 68 00 55 00 74 00 69 00 6C 00 36 00
34 00 5F 00 31 00 30 00 5F 00 33 00 5F 00 31 00 36 00 32 00 5F 00 41 00 63 00 74 00 69 00 76 00
65 00 58 00 2E 00 65 00 78 00 65 00 00 00 4B D6 70 7A 80 80 80 80 80 80 00 00 00 00 41 9E F8 7E
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D4 10 01 00 E2 43 40 00 C3 4F 40 00 5A 55 40 00
8B 4B 48 00 CC 4F 40 00 5A 55 40 00 BB 4D 48 00 E8 83 48 00 D6 57 48 00 C5 96 1C 75 3D 58 48 00
AC 0D 00 00 E1 4F 40 00 A5 55 40 00 F2 4B 48 00 27 50 40 00 5F 4E 48 00 27 50 40 00 A3 4E 48 00
11 97 48 00 0E 90 48 00 78 FE 61 72 FA 62 1C 75 AC 0D 00 00 54 00 00 00 78 48 48 00 3C B9 F3 E0
64 12 50 00 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80
°  . . . . . . .    . . . F . l . a . s . h . U . t . i . l . 6  .
4  . _  . 1  . 0  . _  . 3  . _  . 1  . 6  . 2  . _  . A . c . t . i . v .
e . X . . . e . x . e . . . K Ö  p z €  €  €  €  €  €  . . . . A ž  ø  ~
. . . . . . . . . . . . . . . . Ô  . . . â  C @  . à O @  . Z U @  .
‹  K H . Ì  O @  . Z U @  . »  M H . è  ƒ  H . Ö  W H . Å  –  . u = X H .
¬  . . . á  O @  . ¥  U @  . ò  K H . ' P @  . _  N H . ' P @  . £  N H .
. —  H . .   H . x þ  a r ú  b . u ¬  . . . T . . . x H H . < ¹  ó  à
d . P . €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €

--------------------------------2011/5/9 18:32:23--------------------------------
A memory block has been leaked. The size is: 36

This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
4074C7 
406C04 
4E4C00 
4E4AB4 
405027 
4EF230 
4EF322 
41E266 
4D7837 
4D7473 

The block is currently used for an object of class: UnicodeString

The allocation number is: 5266

Current memory dump of 256 bytes starting at pointer address 7EFADFA0:
B0 04 02 00 01 00 00 00 07 00 00 00 4D 00 4F 00 4D 00 2E 00 65 00 78 00 65 00 00 00 13 6D B4 FB
80 80 80 80 80 80 80 80 00 00 00 00 F1 EE FA 7E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 05 00 00 E2 43 40 00 C3 4F 40 00 5A 55 40 00 82 61 45 00 96 53 4B 00 7B 18 48 00 E0 DC 43 00
11 DF 43 00 43 E9 43 00 C2 E1 43 00 30 E1 43 00 AC 0D 00 00 E1 4F 40 00 A5 55 40 00 EB 61 45 00
27 50 40 00 E9 55 4B 00 06 19 48 00 C9 55 4B 00 7B 09 48 00 8A 1F 48 00 C9 55 4B 00 D1 69 4D 00
AC 0D 00 00 1C 00 00 00 DC F8 44 00 C8 1C 3B 85 64 12 50 00 80 80 80 80 80 80 80 80 80 80 80 80
80 80 80 80 80 80 80 80 80 80 80 80 37 E3 C4 7A 80 80 80 80 80 80 80 80 00 00 00 00 D0 8B FA 7E
00 00 00 00 00 00 00 00 D8 E9 40 00 00 00 00 00 EB 13 00 00 E2 43 40 00 C7 74 40 00 04 6C 40 00
°  . . . . . . . . . . . M . O . M . . . e . x . e . . . . m ´  û
€  €  €  €  €  €  €  €  . . . . ñ  î  ú  ~  . . . . . . . . . . . . . . . .
. . . . â  C @  . à O @  . Z U @  . ‚  a E . –  S K . {  . H . à  Ü  C .
. ß  C . C é  C .   á  C . 0  á  C . ¬  . . . á  O @  . ¥  U @  . ë  a E .
' P @  . é  U K . . . H . É  U K . {  . H . Š  . H . É  U K . Ñ  i M .
¬  . . . . . . . Ü  ø  D . È  . ; …  d . P . €  €  €  €  €  €  €  €  €  €  €  €
€  €  €  €  €  €  €  €  €  €  €  €  7  ã  Ä  z €  €  €  €  €  €  €  €  . . . . Р ‹  ú  ~
. . . . . . . . Ø  é  @  . . . . . ë  . . . â  C @  . Ç  t @  . . l @  .

--------------------------------2011/5/9 18:32:23--------------------------------
A memory block has been leaked. The size is: 36

This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
4074C7 
406C04 
4E4C00 
4E4AB4 
405027 
4EF230 
4EF322 
41E266 
4D7837 
4D7473 

The block is currently used for an object of class: UnicodeString

The allocation number is: 5099

Current memory dump of 256 bytes starting at pointer address 7EFAE100:
B0 04 02 00 01 00 00 00 07 00 00 00 64 00 77 00 6D 00 2E 00 65 00 78 00 65 00 00 00 34 E3 88 FB
80 80 80 80 80 80 80 80 00 00 00 00 F1 E3 FA 7E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
23 04 00 00 E2 43 40 00 C3 4F 40 00 5A 55 40 00 CB 18 4C 00 B6 0C 4B 00 79 53 4B 00 E0 DA 4B 00
3F 19 47 00 E0 DC 43 00 11 DF 43 00 43 E9 43 00 AC 0D 00 00 E1 4F 40 00 A5 55 40 00 B5 8D 43 00
27 50 40 00 39 0E 4B 00 E1 4F 40 00 A5 55 40 00 B5 8D 43 00 19 56 4B 00 3E DB 4B 00 C9 55 4B 00
AC 0D 00 00 24 00 00 00 88 4E 4A 00 99 96 3D 85 64 12 50 00 80 80 80 80 80 80 80 80 80 80 80 80
80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 66 69 C2 7A 00 00 00 00 C1 DD FA 7E
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 03 00 00 E2 43 40 00 C7 74 40 00 04 6C 40 00
°  . . . . . . . . . . . d . w . m . . . e . x . e . . . 4  ã  ˆ  û
€  €  €  €  €  €  €  €  . . . . ñ  ã  ú  ~  . . . . . . . . . . . . . . . .
#  . . . â  C @  . à O @  . Z U @  . Ë  . L . ¶  . K . y S K . à  Ú  K .
?  . G . à  Ü  C . . ß  C . C é  C . ¬  . . . á  O @  . ¥  U @  . µ    C .
' P @  . 9  . K . á  O @  . ¥  U @  . µ    C . . V K . > Û  K . É  U K .
¬  . . . $  . . . ˆ  N J . ™  –  = …  d . P . €  €  €  €  €  €  €  €  €  €  €  €
€  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  f i   z . . . . Á  Ý  ú  ~
. . . . . . . . . . . . . . . .   . . . â  C @  . Ç  t @  . . l @  .

--------------------------------2011/5/9 18:32:23--------------------------------
A memory block has been leaked. The size is: 36

This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
4074C7 
406C04 
4E4C00 
4E4AB4 
405027 
4EF230 
4EF322 
41E266 
4D7837 
4D7473 

The block is currently used for an object of class: UnicodeString

The allocation number is: 5180

Current memory dump of 256 bytes starting at pointer address 7EFAE310:
B0 04 02 00 01 00 00 00 0B 00 00 00 6D 00 73 00 73 00 65 00 63 00 65 00 73 00 2E 00 65 00 78 00
65 00 00 00 BB DE 88 FB 00 00 00 00 F1 F9 FA 7E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7D 05 00 00 E2 43 40 00 C3 4F 40 00 5A 55 40 00 BB 06 4B 00 46 56 45 00 99 0C 4B 00 80 CF 4B 00
27 86 46 00 E0 DC 43 00 11 DF 43 00 43 E9 43 00 AC 0D 00 00 E1 4F 40 00 A5 55 40 00 B5 8D 43 00
27 50 40 00 0E 0E 4B 00 E1 4F 40 00 A5 55 40 00 7D 05 4B 00 ED CF 4B 00 C9 55 4B 00 3E DB 4B 00
AC 0D 00 00 24 00 00 00 20 4C 4A 00 34 DB 3D 85 64 12 50 00 80 80 80 80 80 80 80 80 80 80 80 80
80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 CB 24 C2 7A 00 00 00 00 01 E6 FA 7E
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 04 00 00 E2 43 40 00 C3 4F 40 00 5A 55 40 00
°  . . . . . . . . . . . m . s . s . e . c . e . s . . . e . x .
e . . . »  Þ  ˆ  û  . . . . ñ  ù  ú  ~  . . . . . . . . . . . . . . . .
}  . . . â  C @  . à O @  . Z U @  . »  . K . F V E . ™  . K . €  Ï  K .
' †  F . à  Ü  C . . ß  C . C é  C . ¬  . . . á  O @  . ¥  U @  . µ    C .
' P @  . . . K . á  O @  . ¥  U @  . }  . K . í  Ï  K . É  U K . > Û  K .
¬  . . . $  . . .    L J . 4  Û  = …  d . P . €  €  €  €  €  €  €  €  €  €  €  €
€  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  €  Ë  $    z . . . . . æ  ú  ~
. . . . . . . . . . . . . . . . " . . . â  C @  . à O @  . Z U @  .

--------------------------------2011/5/9 18:32:24--------------------------------
A memory block has been leaked. The size is: 36

This block was allocated by thread 0xDAC, and the stack trace (return addresses) at the time was:
4043E2 
4074C7 
406AD8 
4E5878 
4EFBDA
4EF33D
41E266 
4D7837 
4D7473 
4055C8 
4D7448 

The block is currently used for an object of class: UnicodeString

The allocation number is: 57121

Current memory dump of 256 bytes starting at pointer address 7EFAFDE0:
B0 04 02 00 01 00 00 00 06 00 00 00 40 00 20 00 43 00 50 00 55 00 31 00 00 00 90 2B 91 7A 80 80
80 80 80 80 80 80 80 80 00 00 00 00 91 CC FA 7E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
58 10 00 00 E2 43 40 00 C7 74 40 00 04 6C 40 00 ED EC 43 00 87 E8 43 00 1E DA 43 00 65 ED 43 00
87 E8 43 00 4E E1 43 00 01 E1 43 00 CE 41 44 00 AC 0D 00 00 DD 62 40 00 E9 78 40 00 31 78 40 00
97 50 40 00 DA 4F 40 00 A5 55 40 00 6C 3F 48 00 27 50 40 00 D1 94 43 00 8F 93 43 00 27 50 40 00
AC 0D 00 00 16 00 00 00 B0 04 02 00 F5 2E B0 84 64 12 50 00 80 80 80 80 80 80 80 80 80 80 80 80
80 80 80 80 80 80 0A D1 4F 7B 80 80 80 80 80 80 80 80 80 80 80 80 80 80 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
°  . . . . . . . . . . . @  .    . C . P . U . 1  . . .   +  ‘  z €  €
€  €  €  €  €  €  €  €  . . . . ‘  Ì  ú  ~  . . . . . . . . . . . . . . . .
X . . . â  C @  . Ç  t @  . . l @  . í  ì  C . ‡  è  C . . Ú  C . e í  C .
‡  è  C . N á  C . . á  C . Π A D . ¬  . . . Ý  b @  . é  x @  . 1  x @  .
—  P @  . Ú  O @  . ¥  U @  . l ?  H . ' P @  . Ñ  ”  C .   “  C . ' P @  .
¬  . . . . . . . °  . . . õ  . °  „  d . P . €  €  €  €  €  €  €  €  €  €  €  €
€  €  €  €  €  €  . Ñ  O {  €  €  €  €  €  €  €  €  €  €  €  €  €  €  . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

--------------------------------2011/5/9 18:32:24--------------------------------
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

21 - 36 bytes: UnicodeString x 272
37 - 52 bytes: UnicodeString x 308
69 - 84 bytes: TStringList x 32, UnicodeString x 28
213 - 244 bytes: Unknown x 32

Note: Memory leak detail is logged to a text file in the same folder as this application. To disable this memory leak check, undefine "EnableMemoryLeakReporting".


Die UnicodeStrings nicht so gravierend, oder?
  Mit Zitat antworten Zitat