内核调试类
文章平均质量分 77
一休求索
路漫漫其修远兮,吾将上下而求索!
当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及
展开
-
挂死问题定位之方法一
在Linux下写C/C++程序的程序员,时常与Core Dump相见。在内存越界访问,收到不能处理的信号,除零等错误出现时,我们精心或不精心写就的程序就直接一命呜呼了,Core Dump是Linux仁慈地留下的程序的尸体,帮助程序员们解决了一个又一个问题。有时配置不给力,Linux直接毁尸灭迹,没有了Core文件;又有时,刚好磁盘空间不足,Core文件写不下了。没有Core文件的时候,如何知道原创 2015-12-20 10:04:42 · 2521 阅读 · 0 评论 -
进程的退出
进程退出A:正常退出,常见形式为在main()中的return,调用exit()类函数B:非正常退出,比如信号引起的退出,或者调用abort()类函数给自己发信号程序通过退出状态来向父进程(父进程可能就是shell)来报告一些有限的信息,由于历史上的原因(主要是wait类函数的实现),退出状态码值限制在0-255在通常的unix实现中,wait类函数得到的子程序状态是一个16位原创 2016-01-06 19:07:56 · 1033 阅读 · 0 评论 -
pthread_mutex_lock的实现!!
找了好久的pthread_mutex_lock函数的实现原理,,现粘贴如下。。。int__pthread_mutex_lock (mutex) pthread_mutex_t *mutex;{ assert (sizeof (mutex->__size) >= sizeof (mutex->__data)); int oldval; p转载 2016-05-26 13:54:28 · 1622 阅读 · 0 评论 -
Segmentation Fault in Linux 原因与避免
原作者( ZX_WING(xing5820@163.com)写得很好,加上之前的确遇到过很多信号问题,产生了很多疑问,原创的两张图失效了,转贴补充之。1.什么是“Segmentation fault in Linux”? 我们引用wiki上的一段话来回答这个问题。A segmentation fault (often shortened to SIGSEGV) is转载 2016-05-05 17:28:40 · 353 阅读 · 0 评论 -
linux下利用valgrind工具进行内存泄露检测和性能分析
http://blog.csdn.net/yanghao23/article/details/7514587valgrind通常用来成分析程序性能及程序中的内存泄露错误一 Valgrind工具集简绍Valgrind包含下列工具: 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。 2、callgrind:检测程序代转载 2016-05-05 19:09:22 · 415 阅读 · 0 评论 -
Semaphore与Mutex
在多线程编程中,经常使用到如Semaphore或Mutex等许多线程间同步用的工具,但是Mutex和Semaphore的区别一直让人困惑。一、Semaphore1. 信号量是一个非负整数,具有两种原子操作:a. P操作:也称Down操作。等待信号量变为正数,而后减少信号量;b. V操作:也称Up操作。增加信号量,唤醒等待队列中的进程。/* A counting se转载 2016-05-06 16:26:38 · 637 阅读 · 0 评论 -
linux 挂死问题定位分析
1.生成coredump 文件根据生成的coredump文件,下载到编译环境中,结合gdb查找符号位,定位挂死位置/opt/toolchains/gcc-4.7.3-cmc-201308-20140423/bin/mips-linux-uclibc-gdb ./linux_cmts_sym coredumpGNU gdb (GDB) 7.5.1Copyright (C) 2012原创 2016-06-25 16:31:14 · 7817 阅读 · 0 评论 -
linux下tar的运用
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[root@linux ~]# tar -cvf /tmp/etc.tar /etc [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc # 特别注意,在参数 f 之后的转载 2016-10-28 16:01:47 · 335 阅读 · 0 评论