gdb调式

1、PCB版的相应目录下执行命令:

gdbserver 10.18.13.84:5555 DvdPlayer

2、linux操作系统执行:(如果是android找到android项目路径下的gdb)
mipsel-linux-gdb DvdPlayer

3、进入gdb后执行:
target remote 10.18.13.84:5555
注:5555为端口号

handle SIGUSR1 nostop noprint
handle SIG32 nostop noprint
handle SIG33 nostop noprint
set solib-absolute-prefix /home/maxiongbo/EU154/Noon_QA0411_Jupiter_1185_AP_358218_20110531_release/image_file_avhdd_jupiter_QA0411_nand_release_NAS/components/tmp/rootfs
target remote 10.18.13.84:5555

4.(gdb) b main
(gdb) c
程序会停在main函数

注意:

必须是debug模式,所以需要在make下,写入LOCAL_STRIP_MODULE = false或者

时间: 2024-10-06 21:52:57

gdb调式的相关文章

GDB调式工具的简单调试步骤

程序编译: gcc xx.c -o xx -g //一定要加-g 开始调式: gdb xx //进入调式界面 l:显示文件,默认10行main函数 l+函数名 //显示函数 b:插入断点 b + 行号(main函数) b + 文件名:行号 b + 函数名 r:运行程序 n:单步运行,不进入自定义函数 s:单步运行,进入自定义函数 c:继续执行到下一个断点,没有断点执行到程序结束 p:查看变量 p + i //查看变量i p + 表达式 //查看表达式的值

C基础 - GDB调式工具

安装 brew install gdb 一.单步执行和跟踪函数调用 /* main.c -- 学习gdb调试工具 */#include <stdio.h> int add_range(int low, int high) { int i, sum; for (i = low; i <= high; i++) sum = sum + i; return sum; } int main(void) { int result[100]; result[0] = add_range(1, 10)

x86汇编之十(使用字符串)

x86汇编之十(使用字符串) 转自网络,出处不详 一.传送字符串 Intel提供了完整的字符串传送指令,就像是MOV指令一样. 1.MOVS指令 1)movs指令格式 把字符串从一个位内存位置传送到另一个内存内置,其指令隐含了源操作数与目的操作数.ATT有3条传字符串的指令的,分别是MOVSB,MOVSW,MOVSL. 指令 含义 源址 目址 MOVSB 传一个字节的字符 (%ESI) (%EDI) MOVSW 传一个字的字符 (%ESI) (%EDI) MOVSL 传4个字节的字符 (%ESI

C语言中史上最愚蠢的Bug

C语言中史上最愚蠢的Bug 本文来自“The most stupid C bug ever”,很有意思,分享给大家.我相信这样的bug,就算你是高手你也会犯的.你来看看作者犯的这个Bug吧.. 首先,作者想用一段程序来创建一个文件,如果有文件名的话,就创建真正的文件,如果没有的话,就调用?tmpfile()?创建临时文件.他这段程序就是HTTP下载的C程序.code==200就是HTTP的返回码. 1 2 3 4 else if (code == 200) {     // Downloadin

CentOS7使用Qemu模拟ARM64

准备 RPM包安装 yum安装交叉编译工具 yum install -y binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu bison flex glib2 glib2-devel pixman-devel bc 手动安装glibc yum库中没有glibc-aarch64,所以需要手动安装相应的包.在该网站下载以下连个rpm包进行安装 glibc-aarch64-linux-gnu glibc-aarch64-linux-gnu-devel 下载

linux gdb基本概念

GDB是一个功能强大的调试器,它是一个自由软件,能够用在许多UNIX平台上.它同时也是Linux系统中的默认调试器.GDB已被移植到许多其他的计算机平台上,并且能够用于调试嵌入式实时系统.一般来说,GDB主要可以帮助我们完成以下四个方面的功能:  1, 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2,可以让被调试的程序在你所指定的断点处停住.  3, 当程序被停住时,可以检查此时你的程序中所发生的事情. 4, 动态的改变你程序的执行环境.  与图形化的调试工具相比,GDB具有如下

ndk学习6: 使用gdb调试ndk程序一

生成debug版程序 方法一: 使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件 ? 方法二: 修改AndroidManifest.xml文件,增加debuggable属性为true ? ??<application?android:debuggable="true"? ... Eclipse报错则在错误信息上点右键 Quickly fix 忽略掉错误即可 ? 编译之后会生成和调试相

使用 GNU GCC 和 GDB 开发调试应用程序

gcc 命令的使用 在使用GCC编译程序时,编译过程可以被细分为四个阶段: 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking) 如果不加任何参数, gcc 默认执行所有的操作,直接生成可执行文件. 以上四个阶段对应参数为: 1.        -E  只执行预处理 2.        –S  只编译,不汇编和链接 3.        –c  编译汇编不链接 4.        –o  链接成目标文件 GCC常用选项 -c 通知

nginx源代码分析--GDB调试

利用gdb[i]调试nginx[ii]和利用gdb调试其他程序没有两样,只是nginx能够是daemon程序,也能够以多进程执行,因此利用gdb调试和寻常会有些许不一样. 当然,我们能够选择将nginx设置为非daemon模式并以单进程执行.而这需做例如以下设置就可以: daemon off; master_process off; 这是第一种情况: 这样的设置下的nginx在gdb下调试非常普通,过程能够[iii]是这样: 运行命令: [email protected]:/usr/local/