diff options
author | ps <ps@FreeBSD.org> | 2005-04-20 20:52:46 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2005-04-20 20:52:46 +0000 |
commit | 9d5eb9620c702bae1e9e3bfbdd1e46bb69090855 (patch) | |
tree | 61295d97b434dac4cea4986d76ef09a4e17daecd | |
parent | 891c7630ad970fecdf9f571d7c7cacb8003f708c (diff) | |
download | FreeBSD-src-9d5eb9620c702bae1e9e3bfbdd1e46bb69090855.zip FreeBSD-src-9d5eb9620c702bae1e9e3bfbdd1e46bb69090855.tar.gz |
Don't enter the debugger if KDB_UNATTENDED is set or if
debug.debugger_on_panic=0.
MFC after: 2 weeks
-rw-r--r-- | sys/amd64/amd64/trap.c | 2 | ||||
-rw-r--r-- | sys/ddb/ddb.h | 1 | ||||
-rw-r--r-- | sys/i386/i386/trap.c | 2 | ||||
-rw-r--r-- | sys/powerpc/aim/trap.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/trap.c | 2 | ||||
-rw-r--r-- | sys/sys/kdb.h | 1 |
6 files changed, 3 insertions, 7 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 4933633..7baaeee 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -623,7 +623,7 @@ trap_fatal(frame, eva) } #ifdef KDB - if (kdb_trap(type, 0, frame)) + if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame)) return; #endif printf("trap number = %d\n", type); diff --git a/sys/ddb/ddb.h b/sys/ddb/ddb.h index ba66705..3264fff 100644 --- a/sys/ddb/ddb.h +++ b/sys/ddb/ddb.h @@ -71,7 +71,6 @@ extern db_expr_t db_maxoff; extern int db_indent; extern int db_inst_count; extern int db_load_count; -extern int debugger_on_panic; extern int db_store_count; extern db_expr_t db_radix; extern db_expr_t db_max_width; diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index a75ecec..ae2b4ed 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -798,7 +798,7 @@ trap_fatal(frame, eva) } #ifdef KDB - if (kdb_trap(type, 0, frame)) + if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame)) return; #endif printf("trap number = %d\n", type); diff --git a/sys/powerpc/aim/trap.c b/sys/powerpc/aim/trap.c index a19cacc..669bb60 100644 --- a/sys/powerpc/aim/trap.c +++ b/sys/powerpc/aim/trap.c @@ -93,8 +93,6 @@ int badaddr_read(void *, size_t, int *); extern char *syscallnames[]; -extern int debugger_on_panic; /* XXX */ - struct powerpc_exception { u_int vector; char *name; diff --git a/sys/powerpc/powerpc/trap.c b/sys/powerpc/powerpc/trap.c index a19cacc..669bb60 100644 --- a/sys/powerpc/powerpc/trap.c +++ b/sys/powerpc/powerpc/trap.c @@ -93,8 +93,6 @@ int badaddr_read(void *, size_t, int *); extern char *syscallnames[]; -extern int debugger_on_panic; /* XXX */ - struct powerpc_exception { u_int vector; char *name; diff --git a/sys/sys/kdb.h b/sys/sys/kdb.h index 55d7033..ece16fc 100644 --- a/sys/sys/kdb.h +++ b/sys/sys/kdb.h @@ -57,6 +57,7 @@ struct thread; struct trapframe; extern int kdb_active; /* Non-zero while in debugger. */ +extern int debugger_on_panic; /* enter the debugger on panic. */ extern struct kdb_dbbe *kdb_dbbe; /* Default debugger backend or NULL. */ extern struct trapframe *kdb_frame; /* Frame to kdb_trap(). */ extern struct pcb *kdb_thrctx; /* Current context. */ |