发布时间:2012-12-27 15:53:03
Andrew Huang <bluedrum@163.com> 转载请注明作者及网址 oops是英语口语"糟糕"的意思,当LINUX 内核发生严重错误时,比如内存段错误时,将会提示一大段信息。就提示 Oops,因此得名, Oops提示信息相当多,包括出问题时的,各个常用寄存器的值,调用的堆栈,以及出错的可能原因1.oops 的格式 内核的文档里的详细的Oops的说明,的名字是 Documentation/oops-tracing.txt http://www.mjmwired.net/kernel/Documen......【阅读全文】
发布时间:2012-12-26 09:24:53
down_interruptible()是处理信号量的函数。他的返回值有三种 1. “0” 2. “-ETIME”3.“-EINTR” 0 代表正常返回 -ETIME 等待超时 -EINTR 中断 函数的运作方式: 如果sem->count >0 (信号量允许访问) 返回0 (正常返回) 否则进行等待。 内核源码为 点击(此处)折叠或打开int down_interruptible(struct semaphore *sem){ unsigne......【阅读全文】
发布时间:2012-12-24 22:44:55
http://blog.sina.com.cn/s/blog_6151984a0100ejfg.html使用的命令:tty 查看使用哪个终端who 查看登入的用户w 查看登入的用户echo "abc" >> /dev/pts/* echo "123" >> /dev/ttyAMA0 不同终端之间信息的传递当你运行一个程序的时候,此进程一定会对应一个终端,printf打印信息会在终端出现,而当程序进入内核态时(如调用驱动),printk打印信息会在内核终端出现(hisilicon机顶盒console=ttyAMA0=串口0)在PC上co......【阅读全文】
发布时间:2012-12-19 08:51:10
一直对GDB多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下GDB多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:123 thread all在所有线程中相应的行上设置断点thread apply ID1 ID2 command 让一个或者多个线程执行GDB命令c......【阅读全文】