gdb & SIGSEV
David Šauer
davids na iol.cz
Úterý Únor 2 12:11:16 CET 1999
>>>> "obr" == obr <obr na nri.cz> píše:
obr> Chtel bych se zeptat, pisu program pod svgalib a
obr> potrebuji kontrolovat klavesnici ( jestli je klavesa
obr> stisknuta, nebo ne ) a proto pouzivam prikazy z
obr> vgakeyboard.h, bohuzel kdyz dojde k SIGSEV ( tj je tam neco
obr> spatne ) tak bych potreboval aby se klavesnice uvedla
obr> "doporadku" a mohl jsem normalne psat proto jsem
obr> pouzil nasledujici ( berte to s rezervou pisu po pameti )
[...]
obr> tohle mi dokaze vratit klavesnici a vyplive core, ale
obr> kdyz dam v gdb core core tak se nemuzu pomoci
obr> backtrace vratit a prohlednout si stack.
obr> pokud tam moje osetreni SIGSEV neni vyplivne to sprave core
obr> co ukazuje na chybu, ale zase je zprasena klavesnice takze
obr> nemuzu dat ani Ctrl+Alt+Del, leda tvrdy reset. ( a potom to
Kernely 2.1.X a vyšší mají SAK ...
obr> se na to kouknout, ale proc resetovat 10 000x za den ? )
Taky jsem něco pod SVGAlib psal a zkušenosti jsou následující:
1.) Nic nepsat pod SVGAlib
2.) Pokud to není možné, mít 2 počítače něčím spojené, aby z jednoho
bylo možné uvést ten druhý do správného stavu
3.) Pokud to není možné, používat v gdb příkaz
display vga_setmode(0)
Který po každém přerušení programu nažhaví zpátky TEXT ...
Zruší to sice grafický režim, ale lze alepoň zjistit, kde to spadlo a
stav v paměti ...
--
* David Sauer, student of Czech Technical University
* electronic mail: davids na iol.cz (mime compatible)
Další informace o konferenci Linux