杂项搜集整理

minicom显示中文的设置:

             env LANG=en_US minicom
 
可以再.bashrc 中添加 alias minicom='env LANG=en_US minicom'
我的配置:alias minicom='env LANG=en_US minicom -o -w'

1:GDB单步调试程序

http://blog.csdn.net/yangtaolyt/article/details/6960562

在板子上启动:

gdbserver 192.168.110.58:8888 out.elf

(注:此ip为pc端ip)
pc端:

csky-linux-gdb out.elf

紧接着执行:

target remote 192.168.110.59:8888

(注:此ip为板子ip)
忽略不想要的信号:

handle SIG32 nostop noprint

gdb调试带参数程序

一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要 
把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如: 

> cc -g hello.c -o hello 
> g++ -g hello.cpp -o hello 

如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运行时的内存地址。当你用 
-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。 

启动 GDB的方法有以下几种: 

1、gdb <program> 
program也就是你的执行文件,一般在当然目录下。 

2、gdb <program> core 
用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生 
的文件。 

3、gdb <program> <PID> 
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gd 
b会自动attach上去,并调试他。program应该在 PATH环境变量中搜索得到。 



GDB启动时,可以加上一些GDB的启动开关,详细的开关可以用gdb -help查看。我在下面只 
例举一些比较常用的参数: 

-symbols <file> 
-s <file> 
从指定文件中读取符号表。 

-se file 
从指定文件中读取符号表信息,并把他用在可执行文件中。 

-core <file> 
-c <file> 
调试时core dump的core文件。 

-directory <directory> 
-d <directory> 
加入一个源文件的搜索路径。默认搜索路径是环境变量中PATH所定义的路径。

当以gdb <program>方式启动gdb后,gdb会在PATH路径和当前目录中搜索<program>的源文件 
。 如要确认gdb是否读到源文件,可使用l或list命令,看看gdb是否能列出源代码。 

在gdb中,运行程序使用r或是run命令。 程序的运行,你有可能需要设置下面四方面的事。 

1、程序运行参数。 
set args 可指定运行时参数。(如:set args 10 20 30 40 50) 
show args 命令可以查看设置好的运行参数。 

2、 运行环境。 
path <dir> 可设定程序的运行路径。 
show paths 查看程序的运行路径。 
set environment varname [=value] 设置环境变量。如:set env USER=hchen 
show environment [varname] 查看环境变量。 

3、工作目录。 
cd <dir> 相当于shell的cd命令。 
pwd 显示当前的所在目录。 

4、程序的输入输出。 
info terminal 显示你程序用到的终端的模式。 
使用重定向控制程序输出。如:run > outfile 
tty命令可以指写输入输出的终端设备。如:tty /dev/ttyb

具体来说就是

例如一个程序名为prog 参数为 -l a -C abc
则,运行gcc/g++ -g  prog.c/cpp -o prog
就可以用gdb调试程序prog
#gdb prog
进入gdb调试界面
输入参数命令set args 后面加上程序所要用的参数,注意,不再带有程序名,直接加参数,如:
set args -l a -C abc
回车后输入
r
即可开始运行

 http://www.cnblogs.com/rosesmall/archive/2012/04/10/2440514.html

2010-06-25 15:36

Linux的bg和fg命令

http://hi.baidu.com/dashi6174/item/e85dcc321336c9c12f8ec21c

我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号):
[1]+ Stopped /root/bin/rsync.sh
然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在运行的任务:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它调回到前台运行,可以用
#fg 1
/root/bin/rsync.sh
这样,你在控制台上就只能等待这个任务完成了。

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

五个超酷的Linux命令行技巧

http://blog.csdn.net/swqqcs/article/details/6257290

VIM解决中文编码问题

http://www.vimer.cn/2009/10/87.html

vim中的内置变量:

enc(encoding):vim的内部编码

fenc(fileencoding):vim解析出来的当前文件编码(有可能解析成错的哦)

fencs(fileencodings):vim解析文件时猜测的编码格式顺序列表

一个奔跑的程序员
原文地址:https://www.cnblogs.com/jingzhishen/p/3326528.html