J ai utilise valgind pour voir d ou vient le probleme et voici le resultat
==8680== Memcheck, a memory error detector
==8680== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==8680== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==8680== Command: ./kernel
==8680==
==8680== Invalid write of size 1
==8680== at 0x103DB9: hide_cursor (screen.c:100)
==8680== by 0x103B54: putcar (screen.c:33)
==8680== by 0x103097: printk (printk.c:96)
==8680== by 0x101C3A: kmain (kernel.c:27)
==8680== by 0x100015: ??? (in /home/ubuntu/Shell/kern/kernel)
==8680== Address 0xb8501 is not stack'd, malloc'd or (recently) free'd
==8680==
==8680==
==8680== Process terminating with default action of signal 11 (SIGSEGV)
==8680== Access not within mapped region at address 0xB8501
==8680== at 0x103DB9: hide_cursor (screen.c:100)
==8680== by 0x103B54: putcar (screen.c:33)
==8680== by 0x103097: printk (printk.c:96)
==8680== by 0x101C3A: kmain (kernel.c:27)
==8680== by 0x100015: ??? (in /home/ubuntu/Shell/kern/kernel)
==8680== If you believe this happened as a result of a stack
==8680== overflow in your program's main thread (unlikely but
==8680== possible), you can try to increase the size of the
==8680== main thread stack using the --main-stacksize= flag.
==8680== The main thread stack size used in this run was 8388608.
==8680==
==8680== HEAP SUMMARY:
==8680== in use at exit: 0 bytes in 0 blocks
==8680== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==8680==
==8680== All heap blocks were freed—no leaks are possible
==8680==
==8680== For counts of detected and suppressed errors, rerun with: -v
==8680== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
si vous pouvez m aider ca serai sympas
bonne soiree
mais il m'affiche toujours Program received signal SIGSEGV, Segmentation fault.
0x00103dcf in hide_cursor () at screen.c:100
100 *(video + 1) = 0x0;
PS : désolé pour la réponse un peu tardive
# erreur kernel Valgrind
Posté par Rémi . En réponse au message Créer mini-os unix. Évalué à 0.
J ai utilise valgind pour voir d ou vient le probleme et voici le resultat
==8680== Memcheck, a memory error detector
==8680== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==8680== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==8680== Command: ./kernel
==8680==
==8680== Invalid write of size 1
==8680== at 0x103DB9: hide_cursor (screen.c:100)
==8680== by 0x103B54: putcar (screen.c:33)
==8680== by 0x103097: printk (printk.c:96)
==8680== by 0x101C3A: kmain (kernel.c:27)
==8680== by 0x100015: ??? (in /home/ubuntu/Shell/kern/kernel)
==8680== Address 0xb8501 is not stack'd, malloc'd or (recently) free'd
==8680==
==8680==
==8680== Process terminating with default action of signal 11 (SIGSEGV)
==8680== Access not within mapped region at address 0xB8501
==8680== at 0x103DB9: hide_cursor (screen.c:100)
==8680== by 0x103B54: putcar (screen.c:33)
==8680== by 0x103097: printk (printk.c:96)
==8680== by 0x101C3A: kmain (kernel.c:27)
==8680== by 0x100015: ??? (in /home/ubuntu/Shell/kern/kernel)
==8680== If you believe this happened as a result of a stack
==8680== overflow in your program's main thread (unlikely but
==8680== possible), you can try to increase the size of the
==8680== main thread stack using the --main-stacksize= flag.
==8680== The main thread stack size used in this run was 8388608.
==8680==
==8680== HEAP SUMMARY:
==8680== in use at exit: 0 bytes in 0 blocks
==8680== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==8680==
==8680== All heap blocks were freed—no leaks are possible
==8680==
==8680== For counts of detected and suppressed errors, rerun with: -v
==8680== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
si vous pouvez m aider ca serai sympas
bonne soiree
# OS
Posté par Rémi . En réponse au message Créer mini-os unix. Évalué à 0.
Il n y a plus personne ?
[^] # Re: hide_cursor()
Posté par Rémi . En réponse au message Créer mini-os unix. Évalué à 0.
J'ai fait comme ceci
mais il m'affiche toujours Program received signal SIGSEGV, Segmentation fault.
0x00103dcf in hide_cursor () at screen.c:100
100 *(video + 1) = 0x0;
PS : désolé pour la réponse un peu tardive