摘要: linux下程序对SIGSEGV信号的默认处理方式是产生coredump并终止程序,可以参考man 7 signal 对于Action的描述 可以看到产生core这个动作的信号不止SIGSEGV这一个。通常程序中有对内存的Invalid reference就会产生SIGSEGV,具体描述见http: 阅读全文
posted @ 2016-11-03 15:48 thammer 阅读(7285) 评论(0) 推荐(1)
摘要: 1.单进程的调试 常规的通过gdb cmd这种方式开启调试,特别说明的是通过attach的方法附加到一个指定的进程上去进行调试,这种方法适合于调试一个已经运行的进程,具体用法: gdb -p [pid] 此时被attach的进程会阻塞,进入T模式(ps 命令看到STATE为T),如果调试完毕了,使用 阅读全文
posted @ 2016-09-02 16:18 thammer 阅读(9980) 评论(0) 推荐(1)
摘要: 什么是守护进程?其实感觉守护进程并没有什么明确的定义,只是守护进程有一些特征,这是它需要遵循的。 守护进程的第一个特征是长时间在后台运行的程序,并且主要是为了提供某种服务,而为了能够让服务尽可能随时都可用,就要求这个服务是一直运行的,于是守护进程就守护着这个服务不挂掉。linux里面常见的守护进程一 阅读全文
posted @ 2016-08-10 21:17 thammer 阅读(1593) 评论(0) 推荐(0)
摘要: 一直以来,以为shell脚本中经过export后的变量会影响到执行这个shell的终端中的环境变量。环境变量这个概念不是shell所独有的,而是linux里面进程所拥有的,shell解释器运行起来就是一个进程,这样它也就有了自己的环境变量。通常linux下main函数写法有: 常见的为前2种写法,第 阅读全文
posted @ 2016-07-28 15:53 thammer 阅读(1542) 评论(0) 推荐(0)
摘要: tail用于输出文件末尾部分。一个比较有用的功能是tail + grep实现类似于安卓开发时调试使用的logcat,具体操作是: 一般我是用SecureCRT连接linux,然后使用SecureCRT记录log的功能将文件写入到linux下,然后使用: tail -f logfile | grep 阅读全文
posted @ 2016-07-20 19:30 thammer 阅读(369) 评论(0) 推荐(0)
摘要: http://mirror.bjtu.edu.cn/gnu/ 阅读全文
posted @ 2016-07-18 17:06 thammer 阅读(1580) 评论(0) 推荐(0)
摘要: http://www.cmake.org/Wiki/CMake_Cross_Compiling 阅读全文
posted @ 2016-07-18 10:27 thammer 阅读(156) 评论(0) 推荐(0)
摘要: grep主要用来在文件中进行正则查找 通常都会将高亮颜色打开,方便阅读,为grep建立一个别名alias放到.bashrc等文件中: 最常用的参数: n:在查找输出结果时显示匹配项在文件的行数 r:递归查找 有时候会有一些特殊需求,比如,我想忽略某些后缀的文件,这时就可以通过它的--exclude= 阅读全文
posted @ 2016-07-17 13:08 thammer 阅读(274) 评论(0) 推荐(0)
摘要: makefile中变量赋值有4种方法: = , := , += , ?= = :直接赋值 变量 = 值 := :位置相关赋值 如果右值为一个值,那么它和=没区别,如果右值为变量,那么左边变量的值等于右边变量当前位置的值,什么意思呢? 执行这个makefile,输出 b的值为jkl, 在 b = $( 阅读全文
posted @ 2016-06-03 23:11 thammer 阅读(1054) 评论(0) 推荐(0)
摘要: 来自阅读陈皓的《跟我一起写makefile》 VPATH变量 在一些大的工程中,有大量的源文件,我们通常的做法是把这许多的源文件分类,并存放在不同的目录中。所以,当 make 需要去找寻文件的依赖关系时,你可以在文件前加上路径,但最好的方法是把一个路径告诉 make,让 make 在自动去找。Mak 阅读全文
posted @ 2016-05-27 00:22 thammer 阅读(9927) 评论(0) 推荐(1)