linux内核调试的主要方法

linux内核调试的主要方法,第1张

1。printk ,以及系统日志。阅读源码,想象代码运行的情况,结合打印的信息,推测问题所在。

2。内核调试器,例如 Kgdb 。

3。user mode linux 。

4。在虚拟机上调试。例如 Bochs 。

ls -l /dev/fb0 crw-rw---- 1 root video 29, 0 Jan 27 15:32 /dev/fb0

如果没有这个文件也可以找找其他的比如:/dev/fb1,/dev/fb2...如果找不到这些文件,那就得重新编译内核了。下面假设存在这个文件/dev/fb0,这就是FrameBuffer的设备文件。

有了这个我们可以play with FrameBuffer了。(一下的 *** 作不一定要在X下,可以在启动了FrameBuffer的虚拟控制台下)

代码:

cat /dev/fb0 >sreensnapls -l sreensnap -rw-r--r-- 1wsw wsw 6291456 Jan 27 21:30 sreensnap

我们得到了一个恰好6M的文件,再做下面的 *** 作:

代码:

clear /*清楚屏幕的输出*/ cat sreensnap >/dev/fb0

是不是奇怪的事情发生了?好像是中了病毒一般?

在 Linux 系统下面,不同的语言有不同的调试方法。如果是对用户自己编写的 C 语言源程序(*.c)进行调试,一般使用 gcc 编译器对 *.c 为后缀的源文件进行高级调试。例如:语法错误、数组越界错误、内存溢出错误等,但是这类错误,用户无法进行底层调试,只能够根据出错的原因,对源程序进行修改,然后再使用 gcc 编译器对源程序进行重新编译、运行;如果是对机器级的可执行代码进行底层调试,那还需要专门的对底层进行调试的工具软件才行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8600532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存