[Krafton Jungle] PintOS 2.0.0
크래프톤 정글 PintOS
 
Loading...
Searching...
No Matches
debug.c File Reference
#include <debug.h>
#include <console.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include "threads/init.h"
#include "threads/interrupt.h"
#include "devices/serial.h"
Include dependency graph for debug.c:

Functions

void debug_panic (const char *file, int line, const char *function, const char *message,...)
 

Function Documentation

◆ debug_panic()

void debug_panic ( const char *  file,
int  line,
const char *  function,
const char *  message,
  ... 
)
16 {
17 static int level;
18 va_list args;
19
20 intr_disable ();
22
23 level++;
24 if (level == 1) {
25 printf ("Kernel PANIC at %s:%d in %s(): ", file, line, function);
26
27 va_start (args, message);
28 vprintf (message, args);
29 printf ("\n");
30 va_end (args);
31
33 } else if (level == 2)
34 printf ("Kernel PANIC recursion at %s:%d in %s().\n",
35 file, line, function);
36 else {
37 /* Don't print anything: that's probably why we recursed. */
38 }
39
40 serial_flush ();
42 power_off ();
43 for (;;);
44}
void console_panic(void)
Definition: console.c:73
void debug_backtrace(void)
Definition: debug.c:13
bool power_off_when_done
Definition: init.c:50
void power_off(void) NO_RETURN
Definition: init.c:340
enum intr_level intr_disable(void)
Definition: interrupt.c:151
void serial_flush(void)
Definition: serial.c:128
#define va_end(LIST)
Definition: stdarg.h:10
#define va_start(LIST, ARG)
Definition: stdarg.h:9
__builtin_va_list va_list
Definition: stdarg.h:7
int int int vprintf(const char *, va_list) PRINTF_FORMAT(1
int printf(const char *,...) PRINTF_FORMAT(1
Definition: file.c:7
Here is the call graph for this function: