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 编译器对源程序进行重新编译、运行;如果是对机器级的可执行代码进行底层调试,那还需要专门的对底层进行调试的工具软件才行。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)