gdb。。

断点 b main.c:copy_process
取消断点 clear
调用链 bt
n,s,c,p,list
info r
layout next 切换到下一个布局模式
layout prev 切换到上一个布局模式
layout src 只显示源代码
layout asm 只显示汇编代码
layout split 显示源代码和汇编代码
layout regs 增加寄存器内容显示

调试启动

gdb --args ./xxx {args1…}
gdb时查看内存: x /10b addr
gdb: p /x a ; x /4b 0x7fffffdc ; x /12s key_ptr; p /c 8;

gdb多线程,锁定指定线程调试

info threads 查看当前活动线程

thread 1 切换线程

通过锁定调度器来命令GDB不要自行根据优先权改变当前线程

set scheduler-locking on

如果允许优先级高线程, set scheduler-locking off

确定当前模式:show scheduler -locking

文件依赖比如main.c依赖hello.c的hello方法

格式: gcc file1.c file2.c -o exec-file
gcc main.c hello.c -o main
gdb ./maiin 出现 No symbol table is loaded. Use the "file" command的问题
解决:编译时使用-g选项 gcc -g file1.c file2.c -o exec-file

编译hitos-linux0.11内核时用gcc版本为3.4
vim makefile
修改CFLAGS 改为-g o0
o0表示不开启优化

p/x 16-> 0x10 转为16进制
p gdt

gcc版本切换参考

下载gcc

1.加入源,方便更新。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
2.更新

sudo apt-get update
3.安装

sudo apt-get install gcc-4.9
sudo apt-get install g+±4.9

查看gcc

ls /usr/bin/gcc

设置权重50

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9* 50

配置gcc版本

sudo update-alternatives --config gcc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值