2017-04-14 26 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

これを行うための組み込み方法はありません。これが必要な場合は、いくつかの方法で自分で書くことができます。

1つの方法は、set loggingと友だちを使ってptypeの出力をファイルにダンプし、次にshellを使用してファイルに他のコマンドを実行して好きなようにフォーマットします。

もう1つの方法は、gdbのPythonスクリプティング機能を使用してタイプを検査し、好きなように表示することです。 paholeコマンド(システム上に既にあるかもしれませんが、locate pahole.pyを試してみてください - いくつかのLinuxディストリビューションがこれを出荷しています)は、これがどのように行われたかの例を見ることができます。

関連する問題