2018年7月20日 日报

日期:2018.7.20

今日学习内容:1、gdb调试工具的学习。

gdb是gun的调试工具,它可以跟踪被调试的程序,进行设置断点、单步执行等操作。当程序暂停执行时,可以使用命令查看程序中的变量值、CPU的寄存器值、内存的值以及函数调用栈等信息。

调试步骤:用-g参数将调试信息编入目标文件xx中     gcc -g xx.c -o xx

用命令启动对程序app的调试:  gdb xx

若程序xx运行时需要参数,则用以下命令: gdb --args xx arg1 arg2  (arg1和arg2被视为xx的参数,不是gdb的参数)

在gdb的交互界面中,可以用gdb命令调试(直接回车就是重复上一条命令):

命令 简写 功能
list l 列出源码
break b 设置断点
run r 从头开始运行程序
continue c 从停止处继续运行程序
next n 向下执行一条(不进入被调函数)
step s 向下执行一条(可进入被调函数)
return ret 从当前函数返回
print p 显示变量或表达式的值
quit q 退出gdb

                            2、shell脚本的一些基础使用。

!!★★★!! : 开头一定要:#!/bin/bash或者#!/bin/sh

默认变量 :

$#:传入脚本的命令行参数个数

$*:所有命令行的参数值,在各个参数值之间留有空格

$0:命令本身(shell文件名)

$1:第一个命令行参数

$2:第二个命令行参数

循环:

1、for (( i=0;i<5;i++))

do ....

done .....

2、for i in {1..5}

do ....

done ....

3、for i in a b c d

do  echo $i

done

输出:a  b  c  d

判断:

1、if  [  -d  x  ]; then         //判断是否为文件夹-d

          .....

fi

2、if  [  -f  x  ] ;  then         //判断是否为文件-f

          ....

fi

case:

例:

echo "输入一个字符:"

read Key

case $Key in
          (A-Z) ] echo"xx"
          (a-z) ] echo"yy"
          (0-9) ] echo"mm"
          *) ] echo"vv"
esac

今日遇到的问题:对于shell脚本的命令掌握不熟悉,需要多加练习。对c的内容的遗忘较严重,需要提前预习。

猜你喜欢

转载自blog.csdn.net/wow66lfy/article/details/81137561