問題タブ [dia-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-c++ - DIA SDK get_guid がクラス guid に対して常に Bad ptr(0x000) を返すのはなぜですか?
COM バイナリ (dll/exe) の型とインターフェイスを列挙するために DIA SDK を使用しています。しかし、get_guid は、そのコンポーネント内で使用されるすべてのクラス (CoClass & インターフェイス) に対して常に Bad Ptr(0x0000) を返しますか?
coクラスとインターフェースのpdbからguidを取得できる他の方法。
よろしくウスマン
c++ - DIASDKを使用してC++PDBのクラスのフォルダーを一覧表示します
私はC#でプロファイリングツールに取り組んでいます。DIASDKを使用してC++PDBファイルを分析し、すべてのクラス、関数、フィールドなどを一覧表示します。
クラスのフォルダ名を知りたいのですが、フォルダごとにクラスや関数などを一覧表示します。IDiaSymbolのすべてのプロパティ/関数を確認しましたが、クラスのフォルダー名に何も見つかりませんでした。
DIASDKを使用してC++PDBのクラスのフォルダー名を取得するにはどうすればよいですか?
ありがとう
ラグー
visual-studio-2010 - 関数の .pdb からインクリメンタル リンク サンクを使用しますか?
.pdb と DIA SDK を使用して、.exe の静的コールグラフを特定しようとしています。残念ながら、インクリメンタル リンクの場合、dia2dump サンプルを使用すると、関数によって呼び出されるインクリメンタル トランポリン サンクが表示されません。
デバッグとインクリメンタル リンクをオンにしてdia2dumpサンプル (またはここの単純なサンプル)を実行してリンクすると、どの関数のシンボル ダンプにも呼び出しが表示されませんwprintf。printfただし、インクリメンタル リンクを無効にすると、無効になります。
DIA を介して関数で使用されるインクリメンタル トランポリンを取得する方法はありますか? または、代わりに .obj および .lib ファイルをクラックする必要がありますか?
c++ - .PDB ドキュメントからデバッグ シンボルを処理する C++ ライブラリを探しています。
PDB ドキュメントで定義された構造をデコードするモジュールを作成します。PDB ドキュメントから必要なデバッグ シンボルを抽出するモジュールを提供してくれる人はいますか? ありがとう。
visual-studio-2010 - VC++ コードで使用されるシンボルのリストを取得する
VC++ ソース コードを処理するツールを構築しています。このためには、コードで使用されるローカル変数名とその型を含むシンボルのリストを取得する必要があります。Visual C++ 2010 には、オブジェクト ブラウザーがシンボルをすばやく検索できるようにする .bsc ファイルが既に用意されていることを知っています。しかし、これはインタラクティブなツールです。ファイル内のシンボルのリストを取得する必要があります。独自の VC++ ソース コードで使用されているシンボルのリストをプログラムで取得できるツールはありますか?
Microsoft が提供する Debug Interface Access SDK を試してみました。これにより、使用されているローカル変数の名前の .pdb ファイルを読み取ることができます。しかし、ソース コードで使用されている正確な型名も取得したいと考えています。例えば
DIA SDK では、ローカル変数の名前である文字列「dwordVar」を取得できます。しかし、型名が「MYTYPE」であるとは言えません。MYTYPE が実際に表すもの (unsigned long など) しかわかりません。ただし、シンボル「MYTYPE」ではありません。
Visual C++ がこの機能を提供していない場合、この機能をサポートするサード パーティ ツールはありますか?
c++ - DIA SDK SymTagEnum 値
私は現在、DIA SDK を使用して取得した PDB ファイルから XML ファイルに多くの情報をダンプして、その情報を使用してプロジェクトの構造などに関する情報を表示できるようにしています。
XML ノードに名前を付けるために、列挙型の値をノードに使用される文字列に変換する簡単な関数があります。
この関数には、ここにリストされているすべての値が含まれます: http://msdn.microsoft.com/de-de/library/bkedss5f.aspx
ここで、DIA 情報をダンプするために、基本的に、使用するすべてのシンボルの子を再帰しpGlobal->findChildren(SymTagUDT, NULL, nsCaseSensitive, &pIDiaEnumSymbols)ます。興味深いのは、結果の XML に次のような内容が多数含まれていることです。
さて、空の名前情報などは気にしないでください。これまでのところ、それはすべてかなり未完成です。31 の symTag を持つシンボルの種類を本当に知りたいです。列挙子には 31 個の要素が含まれているように見えるため、0 から 30 までの値が有効なはずです。この 31 が何であるか、だれか知っていますか? 問題の関数は次のようになります。
これは、SystemC fifo サンプル プロジェクトの一部です。あまりにも派手なことはありません。
c++ - PDB からの AST (例: DIA 経由)
私は現在、DIA SDK を使用して、PDB ファイルから非常に有用な情報を取得しています... さて、基本的な質問は、それをどこまで深くできるかということです。最適なのは、すべてを抽象構文ツリーに落とし込むことができることです...それはリモートでも可能ですか? そうでない場合、デバッグ データの分析を使用してどこまで進めることができますか?
c# - DIA SDK を使用して *コード* (具体的にはジャンプ テーブルを含む) を読み取るには?
C# からDIA SDKを使用しています。
今、私は次のようなものを持っています:
switchDIA SDK を使用してコードをブラウズし、具体的には、実行可能ファイル内のジャンプ テーブルとそのターゲット アドレス (つまり、ステートメントによって生成されたもの) を見つけるにはどうすればよいでしょうか?
それらが存在することは既に確認済みですが、それらにアクセスする方法がわかりません。
私は C# を COM で使用しているので C# をタグ付けしましたが、SDK はもともと C++ (COM を使用) にあるため、C++ もタグ付けしました。不適切な可能性があるものは削除してください。ありがとう。
.net - TlbImpがDIA用のこのCOMインターフェイスを.NETに正しくインポートしないのはなぜですか?
.NETで使用するためにMicrosoftのDIASDKをインポートしようとしました。
これはほとんどの部分で正しく機能しているようですが、何らかの理由で、一部のインターフェイス(たとえばIDiaEnumFrameData)が含まれていませんが、残りのインターフェイスは問題なく含まれています。
(インターフェイスは、Cファイルとヘッダーファイルに存在していても、.DLLファイルにも.TLBファイルにも存在しません。)
これを引き起こしているのは何ですか?