gdb c/c++ 代码调试工具
	使用 g++ -g 生成调试文件，不可以加 -O 选项

	set [argc]		# 传入参数
	l n				# 列出源码
	r				# 开始运行到第一个断点
	b n 			# 在第n行打断点
	break main if var_name > 10		# 满足条件时打断点
	d n				# 删除断点
	c				# 继续运行到下一个断点
	s				# 单步执行
	si				# 单步汇编
	n				# 单步执行,不进入函数
	q				# 退出

	set var []		# 修改变量的值
	set $rsp = 0x7ccccccc	# 修改寄存器的值

	p				# 查看特定变量或表达式的值
	bt				# 查看函数调用栈
	bt full			# 详细信息
	disassemble		# 查看当前函数的汇编，可在后面加函数名看指定汇编
	x/10gx $rsp		# 查看内存中由$rsp开始的10个八字节数据 g:八字节 x:16进制

	info locals		# 查看局部变量
	info registers	# 查看寄存器状态
	info program	# 查看程序运行信息
	info break		# 查看断点信息
	info threads	# 查看所有线程

使用gdb调试core文件
	使用ulimit -c unlimited 使挂掉的程序产生core文件
	gdb ./a.out core

gdb demo -p [pid]		# 调试运行中的程序
