社区
Linux/Unix社区
帖子详情
用gdb如何看一个结构指针的内容?
kukafei
2004-06-21 03:54:27
例如:
有个结构
typedef struct tagMyRec
{
char * tt;
int a;
}MyRec;
现在我声明一个MyRec的指针,我用GDB应该怎么看?
MyRec * RecPtr = new MyRec;
RecPtr->tt = strdup("hello world");
RecPtr->a = 100;
应该怎么直接打印出RecPtr的内容
...全文
180
4
打赏
收藏
用gdb如何看一个结构指针的内容?
例如: 有个结构 typedef struct tagMyRec { char * tt; int a; }MyRec; 现在我声明一个MyRec的指针,我用GDB应该怎么看? MyRec * RecPtr = new MyRec; RecPtr->tt = strdup("hello world"); RecPtr->a = 100; 应该怎么直接打印出RecPtr的内容
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhshj
2004-07-23
打赏
举报
回复
p *RecPtr
九可以看了
softcar
2004-07-23
打赏
举报
回复
p (结果名*)指针
cvsuser
2004-07-23
打赏
举报
回复
p 后面甚至都可以跟简单语句
chenyc
2004-07-23
打赏
举报
回复
用print display命令:
print命令显示变量名称
display命令也一样
通过
GDB
学习C语言的讲解
今天小编就为大家分享一篇关于通过
GDB
学习C语言的讲解,小编觉得
内容
挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
gdb
中查看stl容器命令封装脚本
gdb
中查看stl容器命令封装脚本
gdb
init.rar
GDB
(GNU Debugger)调试器工具
GDB
(GNU Debugger)是
一个
强大的调试器工具,主要用于调试程序的错误和问题。它是GNU项目的一部分,支持多种编程语言,包括C、C++、Fortran等。
GDB
提供了一组命令和功能,允许开发人员在程序运行时检查和分析程序状态,帮助找出代码中的错误和问题。
GDB
的主要作用如下: 断点调试:
GDB
允许开发人员在代码中设置断点,使程序在指定的位置停止执行。这样,开发人员可以逐行检查程序执行过程,查看变量的值,以及调查程序中的错误。 回溯调试:当程序崩溃或抛出异常时,
GDB
可以在崩溃发生的地方停止程序执行,并提供回溯(backtrace)信息,显示导致程序崩溃的函数调用链。 变量查看:
GDB
允许开发人员查看程序中的变量的值,以便了解程序状态和数据流动。这对于理解程序中发生的错误非常有用。 内存查看:通过
GDB
,开发人员可以查看程序的内存布局和内存中的数据,包括数组、
指针
和数据
结构
。 单步调试:
GDB
允许开发人员逐行执行程序,以便了解每个指令的执行过程,并在需要时检查变量和状态。 条件断点:
GDB
支持在满足特定条件时暂停程序执行,这对于检查复杂条件下程序的执行路径很有用。
boost-
gdb
-printers:
GDB
漂亮打印机可助您一臂之力-开源
GDB
7.x的各种漂亮类型的漂亮打印机的集合。
xmine c++资源
一:列文件清单 1. List (
gdb
) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,
gdb
就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。 (
gdb
)set args –b –x (
gdb
) show args backtrace命令为堆栈提供向后跟踪功能。 Backtrace 命令产生一张列表,包含着从最近的过程开始的所以有效过程和调用这些过程的参数。 三:显示数据 利用print 命令可以检查各个变量的值。 (
gdb
) print p (p为变量名) whatis 命令可以显示某个变量的类型 (
gdb
) whatis p type = int * print 是
gdb
的
一个
功能很强的命令,利用它可以显示被调试的语言中任何有效的表达式。表达式除了包含你程序中的变量外,还可以包含以下
内容
: l 对程序中函数的调用 (
gdb
) print find_entry(1,0) l 数据
结构
和其他复杂对象 (
gdb
) print *table_start $8={e=reference=’\000’,location=0x0,next=0x0} l 值的历史成分 (
gdb
)print $1 ($1为历史记录变量,在以后可以直接引用 $1 的值) l 人为数组 人为数组提供了一种去显示存储器块(数组节或动态分配的存储区)
内容
的方法。早期的调试程序没有很好的方法将任意的
指针
换成
一个
数组。就像对待参数一样,让我们查看内存中在变量h后面的10个整数,
一个
动态数组的语法如下所示: base@length 因此,要想显示在h后面的10个元素,可以使用h@10: (
gdb
)print h@10 $13=(-1,345,23,-234,0,0,0,98,345,10)
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章