gdb 是gcc自带的一种调试工具
gdb -help查看gdb用法
gcc -g +源代码文件 的文件才可以调试
调试的文件 必需要能找到源文件
gdb +文件名 表示调试该文件
l(list)可以列出当前调试文件的源代码
按回车表示继续执行刚才的命令
break 12 打断点在12行
start 查看默认断点
p +变量名 可以查看该变量当前的值
n表示执行当前行数 然后跳到下一行(并没有执行)
s进入函数里面
bt 查看函数堆栈()
f +函数编号 表示切换函数栈
q 表示退出调试
gdb -help查看gdb用法
gcc -g +源代码文件 的文件才可以调试
调试的文件 必需要能找到源文件
gdb +文件名 表示调试该文件
l(list)可以列出当前调试文件的源代码
按回车表示继续执行刚才的命令
break 12 打断点在12行
start 查看默认断点
p +变量名 可以查看该变量当前的值
n表示执行当前行数 然后跳到下一行(并没有执行)
s进入函数里面
bt 查看函数堆栈()
f +函数编号 表示切换函数栈
q 表示退出调试
2018-03-11
ls /etc/ | grep ab 查找etc目录下含有ab的文件
ps -e 查询当前进程
ps -e |grep ssh 查询进程中含有ssh的文件
ps -e 查询当前进程
ps -e |grep ssh 查询进程中含有ssh的文件
2018-03-11
标准输入是程序可以读取其输入的位置。缺省情况下,进程从键盘读取 stdin 。
标准输出是程序写入其输出的位置。缺省情况下,进程将 stdout 写到终端屏幕上。
标准错误是程序写入其错误消息的位置。缺省情况下,进程将 stderr 写到终端屏幕上。
fscanf(stdin(或文件名),"%d",&a);//从文件读取数据
fprintf(stdout(或文件名),"%d",a);//将数据写入文件
0:stdin
1:stdout
2: stderr
cat (抓取)内容 >> 写入
fprintf 中错误流要return 一个除了0的值
> 覆盖
< 读取(作为输入流)
标准输出是程序写入其输出的位置。缺省情况下,进程将 stdout 写到终端屏幕上。
标准错误是程序写入其错误消息的位置。缺省情况下,进程将 stderr 写到终端屏幕上。
fscanf(stdin(或文件名),"%d",&a);//从文件读取数据
fprintf(stdout(或文件名),"%d",a);//将数据写入文件
0:stdin
1:stdout
2: stderr
cat (抓取)内容 >> 写入
fprintf 中错误流要return 一个除了0的值
> 覆盖
< 读取(作为输入流)
2018-03-11
gcc -c min.c -o min.o
参数:
-c 编译文件,产生obj文件
-o 制定编译后的文件名
cp (被拷贝文件名)(拷贝的文件名)
cat+文件名 查看代码
int main(int argc,char *argv[])
argc来统计参个数,argv来存储参数具体的值
参数:
-c 编译文件,产生obj文件
-o 制定编译后的文件名
cp (被拷贝文件名)(拷贝的文件名)
cat+文件名 查看代码
int main(int argc,char *argv[])
argc来统计参个数,argv来存储参数具体的值
2018-03-11
1. i:当前光标前插入
2. a:当前光标后插入
3. SHIFT+a—行尾插入
4. SHIFT+i—行首插入
5. o—>下一行插入
6. SHIFT+o--上一行插入
7. x—>删除当前光标前的字符
8. dd—>删除当前行
9. gg=G—>auto format
10. CONTROL+W—>切换
11. 9+dd—>剪切
12.
————————————
1. :w—>save
2. :q—>exit
3. :wq—>保存并退出
4. :wqa—>保存所有文件并退出
5. :sp max.c—>分屏,创建另一个文件
2. a:当前光标后插入
3. SHIFT+a—行尾插入
4. SHIFT+i—行首插入
5. o—>下一行插入
6. SHIFT+o--上一行插入
7. x—>删除当前光标前的字符
8. dd—>删除当前行
9. gg=G—>auto format
10. CONTROL+W—>切换
11. 9+dd—>剪切
12.
————————————
1. :w—>save
2. :q—>exit
3. :wq—>保存并退出
4. :wqa—>保存所有文件并退出
5. :sp max.c—>分屏,创建另一个文件
2018-03-11