独学而无友,则孤陋而寡闻!
分类: BSD
2015-02-27 14:36:35
简单地说,先要把下面这两个选项编译进内核,否则不能进入DDB:
options KDB
options DDB
这两个选项的标志是在启动FreeBSD刚开始的时候,在出现系统选单之后,会有两行白色的字:
KDB: debugger backends: ddb
KDB: current backend: ddb
只要出现这两行,就表明可以使用DDB进行内核调试。
进入方法:
方法一:在系统启动出现boot提示的时候输入-d参数,会进入DDB模式。
方法二:比较常用的方法,直接设置内核变量,也可以进入DDB模式:
# sysctl debug.kdb.enter=1
方法三:如果在电脑旁边的话,可以用Ctrl+Alt+ESC组合键进入。
退出:
continue
注:调试正常的系统会导致不能追踪堆栈,可以用sysctl来强制panic:
# sysctl debug.kdb.panic=1