gdb调试
redhat6.3默认是不安装gdb的,如果安装从系统安装盘中找到gdb-7.2-56.e.6.i686.rmp这个文件,
执行rpm -ivh gdb-7.2-56.e.6.i686.rmp。
一个有错的程序:
#include <stdio.h> void test() { int *i = NULL; *i = 2; } int main() { printf("hello, world\n"); test(); return 0; }
我们做的第一件事就是在gdb环境中运行这个程序:
gdb hello
Eclipse的使用
配置Eclipse的默认编码字符集为utf8。
windows-->preference-->general-->workspace
Text file encoding选项,选择other, 改为utf8.
next text file line delmiter选项,选择other,改为unix
配置代码风格:
windows->preference->c/c++->code style->formatter
点击new, 输入一个新的名称(mycodeFormat)
第二个标签页Braces, 选成为next line。
格式化代码:ctrl+shift+F
设置字体大小:
windows-->preference-->general-->appearance-->colors and fonts
base ---> text Font
显示行号:
windows->preference->general->editors->text editors
Filezilla:
SecureCRT
在菜单里选择“选项”——“全局选项”
然后选择常规——默认会话——编辑默认设置
然后选择日志文件
在日志文件名里填入你想保存的日志路径名加日志文件名
这里为了可以每个会话都打成一个日志,可以采用支持的参数
%H 主机名 %S 会话名
%Y 年份 %M 月份 %D 日
%h 小时 %m 分钟 %s 秒
例如我填写的E:SecureCRT\Logs\%H\%Y-%M-%D_%h%m%s.log
就是会保持在E:\SecureCRT\Logs\目录下,路径里也可以使用参数
\%H\这样设置可以把同一个主机的日志到到一个文件夹里,文件夹名就是主机名,没有会自动创建文件夹
这里可以勾选上连接上开始记录日志
因为我们经常开着SecureCRT,但不一定一直在用,为了知道我输入的每一行命令是在什么时候,可以在“在每行”这个设置里填写[%h:%m:%s]
这样就会记录每行日志打入的时间
SourceInsight
大家用source insight看linux源码的时候都遇到这么一个麻烦,makefile和kconfig中的文字在搜索的时候不能找到,这是因为source insight默认是不选makefile的,也没有konfig这种类型的文件。下面就讲一下
如何添加makefile:
打开Source Insight,在新建工程之前,进入
Options -> Document Options-> 点击Document Type的下拉框,然后选择Make File,在右边的File Filter中,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变成 *.mak;*makefile,并且选中Include when adding to projects,这样,以后再新建工程的时候(当前工程同步下makefile就有了),就可以识别makefile或Makefile了(好像此处Source Insight并不区分大小写)。
如何添加kconfig:
由于kconfig是sourceinsight默认不支持的格式,所以我们现在先要加入一个类型。
点击 Add Type,填入新文件类型的名字kconfig,File Filter中写上*kconfig,最好再加上kconfig*(因为在linux中有些kconfig是以kconfig.*的形式出现),注意再选中下面的Include when adding to projects,这样就建立了一个新的文件类型, 以后新建工程加入文件时候,系统就能够识别kconfig的文件了。
//===========================================
用汇编定义了该函数的。去网上查了一下,发现原因是*.S文件并没有添加到改工程中来。 为了用source insight能搜索到.S的汇编文件,必须把该文件添加进来。 方法: 1、在创建工程前先特别设置好source insight 。设置如下: Options->Document Options->Doucment Types->选择x86 Assemble,再在右边File Filter里输入*.S。这样以后再new一个工程,在添加文件时,就可以把文件夹中的*.S添加进去了。 2、如果之前已经创建好工程的,而又想把*.S文件添加进来。如下: 打开创建好的工程,Options->Document Options->Doucment Types->选择x86 Assemble,再在右边File Filter里输入*.S。然后project-->add and remove project files,再重新把工程的所有文件夹添加一遍,这样就可以把*.S文件添加进来了(注:原来的*.c等文件不会被重复添加),然后重新rebuild就可以了。
还有,si默认的汇编文件后缀不支持.s的,所以要支持arm的汇编文件也需要改一下File filter.