2016-04-15 172 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將實際爲您打印)。