Fără Descriere

Tangyuxin 4177849747 Merge pull request #2 from Bruceyzha/main 5 ani în urmă
inc e7fd9cb771 【更新】:创建kdb软件包 5 ani în urmă
src 62455f2600 【更新】:添加“初始化”命令。 5 ani în urmă
LICENSE 0ee0af58ef Initial commit 5 ani în urmă
README.md e7fd9cb771 【更新】:创建kdb软件包 5 ani în urmă
SConscript 62455f2600 【更新】:添加“初始化”命令。 5 ani în urmă
kdb_port.c e7fd9cb771 【更新】:创建kdb软件包 5 ani în urmă

README.md

KDB使用方法及相关API文档

简介

Kernel Debug Tool 简称 KDB。是一种内核信息追踪工具。当我们查找程序漏洞时,需要查看系统运行的各种信息。如:线程创建时间,线程切换,内存的分配与回收,信号量,互斥量,邮箱,事件等IPC 变量的使用。通过这些内核活动信息来对程序进行分析,有效查找程序漏洞。

使用方法

本节将介绍KDB软件包的使用方法。

帮助信息

msh />kdb -h
kdb
kdb -h        des: print help
kdb -s        des: start take notes
kdb -d        des: dump take notes
kdb -ii       des: is inval
kdb --stop    des: stop takle notes

通过命令行调用kdb,了解kdb的使用信息。

开启kdb

msh />kdb -s
rtx start...

开启KDB工具,记录内核信息。

中止kdb

msh />kdb --stop
rtx stop.

将kdb工具中止,终止后工具不再记录内核信息。

打印kdb记录信息

msh />kdb -d
[tick]:2304 thread scheduler tidle0 -> tshell
[tick]:2304 thread resume tshell
[tick]:2274 thread scheduler tshell -> tidle0
[tick]:2274 thread suspend tshell
[tick]:2274 thread scheduler tidle0 -> tshell
[tick]:2274 thread resume tshell
[tick]:2264 thread scheduler tshell -> tidle0
[tick]:2264 thread suspend tshell
[tick]:2264 thread scheduler tidle0 -> tshell
[tick]:2264 thread resume tshell
...

将kdb工具的储存的信息打印出来

KDB API

本节讲介绍kdb工具所提供的API

int kdb_sys_init(void);

用于初始化kdb工具。

void kdb_sys_start(void);

启动kdb并且开始记录内核活动信息。

void kdb_sys_stop(void);

中止记录内核活动信息。

void kdb_sys_dump(void);

将记录的内核活动信息打印出来。

void kdb_sys_stop_dump(void);

停止kdb工作,并将内核活动信息打印出来。