71,11 → 71,11 |
debugging facility - set and clear hardware breakpoints and watchpoints. |
|
\section{Emergency Functions} |
It may happen that the IPC communication dies or that there are some |
It may happen that the IPC communication dies or that there appear some |
problems in the communication chain |
{\em keboard driver} - {\em console} - {\em output driver}. |
As long that at least the keyboard driver works, pressing Escape key three |
times transfers control to the KConsole immediately. If the screen is not |
times transfers control to the KConsole immediately. Because the screen is not |
updated, the user should press Enter to see the kconsole prompt. |
|
If a kernel panic occurs, the error handling automatially switches control |
83,3 → 83,37 |
On the SMP system the other processors are halted immediately. The kernel |
contains its symbol table, so you can probably read some useful information |
about the exact place where the panic occured. |
|
\section{How to Do a Kernel Panic} |
Kernel panic is extremely rare in HelenOS. However, if the user wishes to |
simulate it, KConsole contains proper commands. For example the following |
command simulates a write to the unmapped address 0x4: |
\begin{verbatim} |
kconsole> set4 4 0 |
\end{verbatim} |
|
To test the autodebugging possibilities of the IA32 platform, the following |
sequence can be executed: |
\begin{verbatim} |
kconsole> bkpts |
0. 0x80032010 in (NULL) |
Count(0) |
kconsole> set4 0x80032010 0 |
**** Found ZERO on address 0x0 **** |
Reached breakpoint 0:0x8011552a(generic/src/console/cmd.o:cmd_set4) |
***Type 'exit' to exit kconsole. |
debug> |
\end{verbatim} |
|
|
\section{KLog} |
To avoid disturbing the framebuffer driver with kernel messages, a circular |
buffer communication between kernel and userspace area is established. |
Non-critical messages are sent to the |
KLog application. User can see messages about task faults |
and task cleanup completion. |
|
\section{IPCC - testing applicatoin} |
To test thouroughly some aspects of the IPC and task |
|
\section{Tetris} |