Padajici program (DTORS)
Pavel Kankovsky
peak na kerberos.troja.mff.cuni.cz
Úterý Únor 10 21:18:40 CET 1998
On Tue, 10 Feb 1998, Pavel Dufek wrote:
> Mam program, ktery bezi jako demon, zjistuje nejake veci ze site pomoci
> CMU SNMP library (dynamicka, posledni verze) a "obcas" spadne na sig. 11.
> Kdyz analyzuje core (knihovna i program je "-g"), dozvim se, ze chtel
> delat free s nespravnym parametrem (nesmyslna adresa). Problem je, ze
> "info stack" rekne, ze to free zavolala funkce __DTORS_END (mozna jsou
> spatne ta podtrzitka, ale je tam jen jedna takova ...). A "info target"
> rika, ze na te adrese jen "dtors" segment z te libc knihovny (a info var
> rika, ze to je "non debugging symbol"). Stalo se to uz nekomu ? Co je ten
> segment "dtors" ? Has anyone any idea ????? Please.
v .dtors jsou destruktory, tj. jakysi seznam funkci, ktere maji byt
zavolany za ucelem destrukce globalnich dat obsazenych v knihovne
ovsem pokud prohlasi, ze navratova adresa je __DTOR_END__ + neco, pak
to zrejme uz bude v nejake dalsi sekci; zda se, ze je to .got, tedy
Global Offset Table, coz je divne, to jsou totiz uz data a ne kod
zkusil bych:
1) pouzit malloc debugger (electric fence, ccmalloc)
2) slinkovat to staticky (hin sa ukaze!)
3) spustit na platforme, co rozlisuje cteni a exekuci (!= Intel)
--Pavel Kankovsky aka Peak [ Boycott Microsoft -- http://www.vcnet.com/bms ]
Další informace o konferenci Linux