Utilizzo del kernel debugger su sistemi Solaris

In particolari situazioni puo' essere utile attivare il kernel debugger. Il kernel debugger permette di controllare/modificare i valori presenti nelle strutture dati, definire breakpoint, ..

L'utilizzo del kernel debugger deve essere limitato ai soli casi necessari. E' possibile infatti creare gravi inconsistenze sul sistema. Inoltre nella maggior parte dei casi e' possibile intervenire sulla configurazione del sistema modificando opportunamente il file /etc/system.

Per i piu' coraggiosi nel seguito e' riportato un semplice esempio di settaggio di un parametro effettuando un boot da console con un break-point.

ok > boot kadb -rds

ok > [ENTER]

xyz + zxy + yzx

kadb [0] > startup b:

kadb [0] > c:

break on startup (...)

kadb [14] > npty/D

npty:

npty: 16

kadb [14] > npty/W 0t64

kadb [14] > npty/D

npty:

npty: 64

kadb [14] > c:

.... il sistema effettua il normale boot

PS. Per i piu' curiosi: nell'esempio sopra riportato e' stato cambiato il valore della variabile npty del kernel da 16 a 64. Tale variabile indica il numero di Network Pseudo Terminal... insomma il numero di sessioni telnet aperte in contemporanea!

 

La sintassi dei comandi di kadb e' analoga ad adb (cfr. Comandi Unix poco noti).

 

Per controllare i settaggi presenti con adb e' possibile utilizzare il comando seguente (lo so che sono due, dipende dalla versione di Solaris):

adb /kernel/unix /dev/kmem

adb -k /dev/ksyms /dev/mem

 

Possono essere utili le informazioni contenute nel documento Boot su sistemi SUN Solaris 2.X.


Testo: Utilizzo del kernel debugger su sistemi Solaris
Data: 17 Giugno 1997
Versione: 1.2.1
Autore: mail@meo.bogliolo.name