2016-04-15 126 views
0

在运行通过gdb的一些代码,我凸轮碰到这个结构定义:调试C++代码

ptype spawnStmt 
type = struct stmt { 
    stmt *next; 
    const char *stmtname; 
    int lineNo; 
    const char *filename; 
    stmtType type; 
    stmt::<anonymous union> s; 
} *(var *, stmtlist *) 
(gdb) p spawnStmt 
$3 = {stmt *(var *, stmtlist *)} 0x80514f8 <spawnStmt> 

可有人请向我解释这意味着什么 - {语句*(VAR *,stmtlist *)} 0x80514f8。

我的意图是打印这个结构中元素的值。 什么是正确的语法?

感谢

回答

0

可有人请向我解释这是什么意思

spawnStmt是在地址0x80514f8功能,以var*stmtlist*作为参数,并返回struct stmt

我的意图是打印这个结构中元素的值。

还有“这个结构”呢。您必须在spawnStmt(),finish上设置一个中断点,然后才能打印元素的值(finish将实际为您打印)。