SIGSEGV po malloc

Ladislav Michl xmichl03 na stud.fee.vutbr.cz
Neděle Červenec 16 13:29:07 CEST 2000


On Fri, 14 Jul 2000, Pavel Kankovsky wrote:

> On Mon, 10 Jul 2000, Ladislav Michl wrote:
> 
> Hele...zas jeden mail, na ktery jsem chtel odpovedet a zapomnel jsem na
> to. :)

jojo, dik. tusil jsem, ze jestli nekdo odpovi, budete to vy :-)

> > myslím, že to souvisí s nějakou callback funkcí, kterou SDL registruje
> > 
> > 0x400e3f5b <_IO_file_xsputn+3175>: push   %eax
> > 0x400e3f5c <_IO_file_xsputn+3176>: call   0x400ac594 <SDL_alarm_callback+96652>
> 
> To urcite nebude funkce SDL_alarm_callback, vsimnete si toho offsetu.
> A nejspis to ani nesouvisi s _IO_file_xsputn (ze stejneho duvodu).
> A jak jste vubec prisel na adresu 0x400e3f5b? (V backtrace takova ani
> podobna neni?!.)

neni, to mate pravdu. cele jsem to disassembloval a porovnal s verzi bez
libSDL a nenapadlo me nic jineho nez, ze to bude tahle funkce... 

> > může mi někdo poradit, jak se takové věci ladí? 
> 
> Jak se to ladi? Blbe. Z backtrace lze usoudit, ze malloc (v nejake sve
> interni podprocedure), skocil na nejakou na nejakou nesmyslnou adresu.
> Matne si vzpominam, ze je mozno zaregistrovat nejake callbacky. Je mozne,
> ze SDL ten callback nejak posaha -- v tom pripade bych zkusil na adresu
> toho, co je posahane, dat watchpoint.

hmm, to je prave ono. nemohl byste si vzpomenout jak se ty callbacky
registruji at vim co hledat :-) ja nevim _co_ to posaha, tim mene adresu a
trasovat po instrukcich me moc nebavi...

> V kazdem pripade neni od veci mit po ruce zdrojaky od glibc i od
> SDL. Clovek nemusi ten kod mit zrovna prelozeny s ladicimi informacemi,
> ale ten assembler se mnohem lepe lusti, kdyz je znamo, co vlastne ma
> delat. :)

hmm, uz to studuju. je divny, ze kdyz prelozim libSDL na jinem stroji a pak
tam prelozim a spustim ten testik (nebo treba sdldooma :-)) je vsechno ok,
stejne jako kdyz nakopiruju binarku k sobe. 

jeste jednou dik
laďa



Další informace o konferenci Linux