問題タブ [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.

0 投票する
1 に答える
261 参照

debugging - DIA に pdb ファイルのロックを解除させるにはどうすればよいですか?

DIA に pdb ファイルのロックを解除させるにはどうすればよいですか?

以下に示すように、pdb をロードしてセッションを作成すると、すべて正常に動作し、セッションを使用して pdb からデータを取得できます。

pdb の使用が終了したら、セッションと DiaSource を解放しますが、DIA はまだ pdb ファイルをロックしているため、アプリが終了するまでエクスプローラーで pdb ファイルを削除できません。pdb ファイルのロックを解除するよう DIA に指示するにはどうすればよいですか?

どうもありがとう。

スチュワート。

0 投票する
2 に答える
1873 参照

c# - dia-sdk を使用して Microsoft pdb ファイルからデータをロードする

こんにちは、pdb ファイルからデータを読み込もうとしています

C# から MS DIA SDK を使用するにはどうすればよいですか?の手順に従いました。そしてアセンブリを生成しました

問題は次のとおりです。MS pdb ファイルで dataSource.loadDataFromPdb を呼び出すと、ComException(HRESULT: 0x806D000C) がスローされます。

dumpbin.exe /headers を使用してみましたが、「不明な形式」で失敗します

自己生成された pdb で .loadDataFromPdb と dumpbin を使用すると、正常に動作します

MS pdb ファイルを開き、特に GUID を抽出する別の方法はありますか

0 投票する
0 に答える
65 参照

pdb-files - IDiaEnumSymbolsByAddr::Next がクラッシュするのはなぜですか?

アドレスでシンボルを列挙したかったのですが、呼び出すとIDiaEnumSymbolsByAddr::Nextがクラッシュするようです。

ドキュメントには、それについて余分なことは何も書かれていません。再現する最小限のコード:

これは DIA SDK のバグですか? それとも、このようにインターフェースを使用することは想定されていませんか?

0 投票する
1 に答える
922 参照

c++ - getSymbolsByAddr を使用して DIA SDK でシンボルを反復処理する

目標: pdb ファイルに含まれるすべての関数のアドレスを一覧表示しようとしています。

現在のアプローチ: DIA SDK を見つけ、dia2dump の例を変更しています: https://msdn.microsoft.com/en-us/library/hd8h6f46.aspx

新しい機能を追加しました:

しかし、(有効な pdb ファイルで) 実行するたびに、次の例外が発生します。

それで、どういうわけか、どこかに NULL の参照があります。デバッガーで実行しているとき、それpEnumSymbolsByAddrが NULL ではなく、渡されるポインターが NULL でないことを確認できpEnumSymbolsByAddr->Nextます。

SO を検索したところ、私だけではないことがわかりました: IDiaEnumSymbolsByAddr::Next がクラッシュするのはなぜですか?

デバッガを msdia140.dll 内にステップインさせることができないため、正確に何が問題なのかわかりません。この機能をうまく使った人をまだ見つけていませんpEnumSymbolsByAddr->Next

0 投票する
0 に答える
142 参照

c# - DIA SDK が NotImplementedException をスローする

C# から DIA SDK を使用して .pdb を検査しようとしていますが、次のコードを使用してユーザー定義型を取得できません。

C# プロジェクトから dia2.tlb または dia2.dll を参照すると、異なる結果が得られます。

dia2.tlb を参照すると、関数呼び出しは正常に完了しますが、シンボルが返されません。これは私も渡しSymTagEnum.SymTagPublicSymbolfindChildrenも同じです。

dia2.dll を参照すると、関数はNotImplementedException代わりに a をスローします。この場合、 に渡すSymTagPublicSymbolfindChildrenシンボルが返されます。

誰かがこれに遭遇しましたか?NotImplementedException.dll を参照することは正しいと思いますが、スローされる理由がわかりません。

IDL/DLL

VS コマンド プロンプトでコマンドを使用してdia2.tlbとを作成しました。dia2.dll

どうもありがとう。