[SOS] Traitement d'un "stack overflow"

Bombela bombela at free.fr
Sam 10 Juin 15:39:27 CEST 2006


À tu essayé de deboguer dans qemu ?

Avec l'aide de qemu, gdb ainsi qu'un objet binaire supportant le debug 
compilé depuis les sources, tu peux te
balader dans l'exécution du système, en C !

C'est très pratique. Il existe même des frontend graphique à gdb qui 
permettre de faire ça plus agréablement.
(Je n'ai pas de nom en tête, je n'ai pas utilisé de front end depuis 
longtemps !)

Dans un des articles de SOS, il était dit comment effectuer cela.

Si tu veux plus de précision, je suis à t'as disposition.

Bombela.

Cyril Dupuit a écrit :
> Salut,
> Comme convenu, j'ai placé les sources sur un site. Ces sources sont 
> accessibles sur http://perso.orange.fr/koalys/downloads/dbf-sos-9_5.zip.
>
> Ces sources sont celles de la version « sos-code-article9.5 » dont les 
> modifications suivantes ont été apportées :
>
> - main.c : Suppression du code non utilisé pour effectuer ce test 
> (suppression du code d'initialisation des processus, suppression du 
> code de gestion de la charge CPU, gestion des tty, etc...). Ajout de 
> la fonction récursive Toto() dans le thread stat_thread().
> - gdt.c : Ajout de la fonction sos_gdt_register_double_fault_tss() 
> afin d'initialiser la TSS de double faute.
> - idt.c : Modification de la fonction sos_idt_subsystem_setup() afin 
> qu'elle initialise une task gate dans l'entrée 8 (double fault) de l'IDT.
> - cpu_context.c : Modification de la fonction 
> sos_cpu_context_subsystem_setup() afin qu'elle initialise la TSS de 
> double fault.
> - segment.h : Ajout du define SOS_SEG_DBL_FAULT_TSS utilisé pour 
> initialiser le segment de double fault dans la TSS.
>
> Le résultat obtenu est toujours le même. Il m'est impossible de tomber 
> dans l'exception de double fault. Qému se bloque, bochs affiche un 
> résultat erroné et un véritable PC reboot sans cesse (le fameux triple 
> fault que tu m'as expliqué la dernière fois).
>
> Je ne sais pas quoi te dire de plus si ce n'est que je n'arrive pas à 
> comprendre ce qu'il se passe.
>
> Merci encore.
>
> Cyril
>
>
> _______________________________________________
> Sos mailing list
> Sos at the-doors.enix.org
> http://the-doors.enix.org/cgi-bin/mailman/listinfo/sos
>
>


Plus d'informations sur la liste de diffusion Sos