gdb调试工具
gdb使用:
gdb
file+可执行文件名 装载可执行程序
list 显示程序代码
break+行号 指定行设置断点
clear+行号 删除指定行的断点
watch+变量名 监控程序中某个变量的变化
next 执行下一语句,不进入函数
step 单步执行,进入函数
run 运行已装载的程序
info thread 显示所有当前进程的线程号
thread 线程号 装载指定的线程
next进行调试
详细参考链接:链接: https://blog.csdn.net/daaikuaichuan/article/details/89791255?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-89791255-blog-78630731.pc_relevant_recovery_v2&spm=1001.2101.3001.4242.1&utm_relevant_index=3
gdb调试直接在退出位置打断点,能够打印出程序结束位置,便于发现问题
gdb 可执行文件 -ex “b exit” -ex “run”
vi/vim的使用
vi/vim的使用
基本上vi/vim共分为三种模式,分别是命令模式,输入模式和底线命令模式。这三种模式的作用分别是:
1.命令模式
用户刚刚启动vi/vim,便进入命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,而是被当做一个命令-插入
以下是常用的几个命令:
i切换到输入模式,以输入字符
x删除当前光标所在处的字符
:切换到底线命令模式
2.输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及shift组合,输入字符
ENTER,回车键,换行
BACKSPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首行尾
Page Up/Page Down,上下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
3.底线命令模式
在命令模式下按下:(英文冒号)就进入底线命令模式
在底线命令模式中可以输入单个或多个字符命令,可用的命令非常多
基本命令有:
q:退出程序
w:保存文件
按ESC可以随时退出底线命令模式
shell文件编写
#!/bin/sh
#变量的定义
echo “hello world”
yourname=“runtime”
echo $yourname
#删除变量
unset yourname
echo ${yourname}
#if then elif then else fi 条件流程控制的使用
#1
a=10
b=20
val=expr $a + $b
echo “a + b : $val”
val=expr $a - $b
echo “a - b : $val”
val=expr $a \* $b
echo “a * b : $val”
val=expr $b / $a
echo “b / a : $val”
val=expr $b % $a
echo “b % a : $val”
#2
if [ $a == $b ]
then
echo “a 等于 b”
fi
#3
if [ $a != $b ]
then
echo “a 不等于 b”
fi
#4
if [ $a ==
b
]
t
h
e
n
e
c
h
o
"
b ] then echo "
b]thenecho"a == $b "
elif [ $a > $b ]
then echo " $a > $b "
else
echo " $a < $b "
fi
#5
a=10
b=20
if (( $a == $b ))
then
echo “a 等于 b”
elif (( $a > $b ))
then
echo “a 大于 b”
elif (( $a < $b ))
then
echo “a 小于 b”
else
echo “没有符合的条件”
fi
#test的使用
#int类型的使用
num1=100
num2=100
if test $[num1] -eq $[num2]
then
echo ‘两个数相等!’
else
echo ‘两个数不相等!’
fi
#string类型的使用
num1=“ru1noob”
num2=“runoob”
if test $num1 = $num2
then
echo ‘两个字符串相等!’
else
echo ‘两个字符串不相等!’
fi
#代码中的[]执行基本的算术运算
a=5
b=6
result=$[a*b] # 注意等号两边不能有空格
echo “result 为: $result”
#函数
#!/bin/bash
function demoFun1(){
echo “这是我的第一个 shell 函数!”
return expr 1 + 1
}
demoFun1
echo $?
function demoFun2(){
echo “这是我的第二个 shell 函数!”
expr 1 + 1
}
demoFun2
echo $?
demoFun1
echo 在这里插入命令!
echo $?
echo "传递到脚本的参数个数 KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲" echo "以一个单字符串…"
echo "脚本运行的当前进程的ID号$
"
e
c
h
o
"
与
"
′
" echo "与"'
"echo"与"′'“相同,但是使用时加引号,并在引号中返回每个参数$@”
cmake文件编写
阿里云盘链接: https://www.aliyundrive.com/s/HPJqKmndkN1
提取码:vs68