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