zverj ([info]zverj) rakstīja [info]koderi kopienā,
@ 2008-01-08 17:18:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
C++ jautājums: kā zem vizuālās studijas var noteikt memory leaks? Resp. pēc palaišanas kompilātors saka:

Detected memory leaks!
Dumping objects -
{1871} normal block at 0x00F8DAF0, 52 bytes long.
Data: 1 0 01 00 00 00 03 00 00 00 13 00 00 00 31 00 30 00
{1869} normal block at 0x00F8D9A0, 24 bytes long.
Data: C8 D3 F8 00 1C DA F8 00 FC DA F8 00 CE CD CD CD
{1868} normal block at 0x00F8DA10, 52 bytes long.
Data: L e 01 00 00 00 04 00 00 00 13 00 00 00 4C 00 65 00
{1866} normal block at 0x00F8D8C0, 12 bytes long.
Data: L 4C D1 F8 00 00 00 00 00 00 D7 F8 00
{1865} normal block at 0x00F8D930, 52 bytes long.


un tālak saraksts ar līdzīgu figņu, kas neko neizsaka. Kā noteikt, kuru aizmirsu izdzēst? Kāda metodika


(Lasīt komentārus) - (Ierakstīt jaunu komentāru)


[info]watt
2008-01-08 17:32 (saite)
parasti jau varēja uzklikšķināt, un tad jau debuģieris vainīgo new/malloc atrada

(Atbildēt uz šo) (Diskusija)


[info]zverj
2008-01-08 17:37 (saite)
Varbūt uz MFC arī tā, taču manā gadījumā atmiņu allocē externāla bibliotēka. Atmiņā paliek gan viņas hreni, gan arī manējais mainīgais.

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)


[info]watt
2008-01-08 17:43 (saite)
mēģināt atmiņu atraut pēc tās adreses? laikam pie dump jau par vēlu, vilciens aizgājis.
var mēģināt pēc izmēra saprast, kas par struktūru.
var mēģināt ar bināro meklēšanu: komentēt izsaukumus ārā, kamēr atrod to, kas dod leak.

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?