gdb & SIGSEV
obr na nri.cz
obr na nri.cz
Úterý Únor 2 10:40:43 CET 1999
Chtel bych se zeptat, pisu program pod svgalib a
potrebuji kontrolovat klavesnici ( jestli je klavesa
stisknuta, nebo ne ) a proto pouzivam prikazy z
vgakeyboard.h, bohuzel kdyz dojde k SIGSEV ( tj je tam neco
spatne ) tak bych potreboval aby se klavesnice uvedla
"doporadku" a mohl jsem normalne psat proto jsem
pouzil nasledujici ( berte to s rezervou pisu po pameti )
void myERR( int x )
{
close_keyboard();
abort();
}
main
{
int a[5];
// init kbd
signal( SIGSEV, myERR );
// nastala chyba
a[6]=1;
//close keyboard
}
tohle mi dokaze vratit klavesnici a vyplive core, ale
kdyz dam v gdb core core tak se nemuzu pomoci
backtrace vratit a prohlednout si stack.
pokud tam moje osetreni SIGSEV neni vyplivne to sprave core
co ukazuje na chybu, ale zase je zprasena klavesnice takze
nemuzu dat ani Ctrl+Alt+Del, leda tvrdy reset. ( a potom to
se na to kouknout, ale proc resetovat 10 000x za den ? )
nevite jak na to ?
mao
Další informace o konferenci Linux