linux代码没有添加return,如何用gdb改造

linux代码没有添加return,如何用gdb改造,第1张

1、首先在linux下我们需要先安装gdb调试工具,大多数情况下Centos和Ubuntu下是默认安装了gdb的。

2、其次调试程序,编译时还需要加上-g选项让编译生成的可执行文件中包含足够的调试信息。

3、最后完成调试就可以了。

GNU调试器(GNU Debugger, GDB)是一个开源的源代码级的调试工具,其性能优良、功能齐全、易于使用,在嵌入式系统开发过程中扮演着越来越重要的角色。接下来是我为大家收集的[Linux]gdb查看内存区命令,希望能帮到大家。[Linux]gdb查看内存区命令 用gdb查看内存 格式: x /nfu 说明 x 是 examine 的缩写 n表示要显示的内存单元的个数 f表示显示方式, 可取如下值 x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。 a 按十六进制格式显示变量。 i 指令地址格式 c 按字符格式显示变量。 f 按浮点数格式显示变量。 u表示一个地址单元的长度 b表示单字节, h表示双字节, w表示四字节, g表示八字节 Format letters are o(octal), x(hex), d(decimal), u(unsigned decimal), t(binary), f(float), a(address), i(instruction), c(char) and s(string). Size letters are b(byte), h(halfword), w(word), g(giant, 8 bytes) 举例 x/3uh buf 表示从内存地址buf读取内容, h表示以双字节为一个单位, 3表示三个单位, u表示按十六进制显示 例子: n是个局部变量 Breakpoint 1, main (argc=1, argv=0xbffff3a4) at calc.c:7 7 int n = atoi(argv[1]) (gdb) print &n $1 = (int *) 0xbffff2ec (gdb) x 0xbffff2ec 0xbffff2ec: 0x00282ff4 (gdb) print * (int *) 0xbffff2ec $2 = 2633716 (gdb) x /4xw 0xbffff2ec 0xbffff2ec: 0x00282ff4 0x080484e0 0x00000000 0xbffff378 (gdb) x /4dw 0xbffff2ec 0xbffff2ec: 2633716 134513888 0 -1073745032 (gdb)看了“[Linux]gdb查看内存区命令”还想看: 1. Linux使用dmidecode命令查看内存型号2. Linux下查看CPU型号,内存大小,硬盘空间命令3. 如何在Linux命令行中查看目录的大小4. LINUX 查看硬件配置命令的教程


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7321503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存