gdb和arm-linux-gdb命令详解

简介:

文章最后又GDB的安装方法!


在PC机下调试PC机程序:

gcc -g hello.c -o hello  @-o Specified Specified exec name -g debugging message 
gdb hello   @debugging program
break orr b params        @set breakpoint
b  function name
b line numbers
b file name + line numbers
b line numbers + if condition is  true 
 
run            @run program 


print + variable name  @display  variable value 
info  break orr b    @display all breakpoint numbers
delete breakpoint numbers  @delete the numbers breakpoint  
list orr l     @display  source code
next           @step by step running ,don't Entry sub function
step           @step by step running ,Entry sub function
continue orr c @high speed run as next breakpoint orr program end
finish       @running program utile Current function end
watch + variable value  @for the variable control 
q              @exit 


在开发板上调试交叉编译下的程序:在远程下调试。

1、Download GDB source code

website:ftp://ftp.gnu.org/gnu/gdb


2、compile GDB

# tar -xzvf gdb-7.4.tar.gz 

# cd gdb-7.4

# ./configure --target=arm-linux

#make

# mkdir tmp
# make install prefix=$PWD/tmp

#cp arm-linux-gdb  /bin


3、install board gdbserver:

#cd gdb/gdbserver/

#./configure --host=arm-linux

#make   (把生成的gdbserver复制到board的/bin目录下)


编译要调试的应用,编译时加上-g选项

 

4、cross compile gdbserver :


 5、debug

Board ip    = 210.41.141.111

Host pc ip = 210.41.141.155

 

Board:

#gdbserver 210.41.141.111:1111 ./test_debug      /*1111为端口号,可以随便设置*/

 

host pc:

(由于交叉编译自带gdb工具,所以这里要指定路径,不然会冲突)

#/bin/arm-linux-gdb   ./test_debug

(gdb)target remote 210.41.141.111:1111


....

链接成功后,gdb远程调试和gdb本地调试方法命令相同。


相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
13天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
100 6
|
14天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
53 3
|
14天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
45 2
|
22天前
|
缓存 监控 Linux
|
25天前
|
Linux Shell 数据安全/隐私保护
|
26天前
|
域名解析 网络协议 安全
|
9天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
38 3
|
2月前
|
运维 监控 网络协议
|
2月前
|
监控 Linux Shell
|
14天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
50 3