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