调试C++代码

Debugging C++ code

本文关键字:代码 C++ 调试      更新时间:2023-10-16

当通过gdb运行一些代码时,我会遍历这个结构定义:

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>

有人能向我解释一下这意味着什么吗?-{stmt*(var*,stmtlist*)}0x80514f8。

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

感谢

有人能向我解释一下是什么意思吗

spawnStmt是地址为0x80514f8的函数,以var*stmtlist*为参数,返回struct stmt

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

目前还没有"这种结构"。您必须在spawnStmt()finish上设置一个断点,然后才能打印元素的值(finish实际上会为您打印它们)。