2017-04-14 80 views
0

我有我的結構與幾個成員,我希望看到他們都按順序編入索引。GDB命令索引結構的成員

Struct Ant 
{ 
    int type; 
    char name[100]; 
    long long int food; 
} 

現在,當我在gdb執行命令

(gdb) ptype struct Ant 
$1 = struct 
{ 
    int type; 
    char name[100]; 
    long long int food; 
} 

我想看到的輸出類似

{ 
    0, int type; 
    1, char name[100]; 
    2, long long int food; 
} 

有沒有辦法讓每個結構的指標GDB中的字段?

+0

索引有什麼意義?你會如何使用它們? – Barmar

+1

這與Python有什麼關係? – martineau

+0

我想將索引結構輸出到C文件並使用索引信息遍歷結構。 – vip

回答

1

有沒有內置的方式來做到這一點。如果你需要這個,你可以用幾種方法自己寫。

一種方法是使用gdb CLI:使用set logging和朋友將ptype輸出轉儲到文件,然後使用shell在文件上運行一些其他命令以您喜歡的方式對其進行格式化。

另一種方法是使用gdb的Python腳本功能來檢查類型並顯示它的樣子。如果您搜索pahole命令(可能已經在您的系統上,請嘗試locate pahole.py - 某些Linux發行版發佈此命令),您可以看到如何完成此操作的示例。