問題タブ [pdb-files]
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.
c++ - VS2010 C++ に .pdb へのパスが含まれていない
Visual Studio は必要に応じてプロジェクトを dll にコンパイルしますが、これらの dll を dumpbin で検査すると、pdb のエントリがありません。これがおそらく、これらの dll を読み込んでもデバッグできない理由です。実行時にそれらの pdb がロードされることはありません。VSにこれらのパスを書き込むにはどうすればよいですか?
ビジュアル スタジオ、C++。
編集: C++/一般/デバッグ情報の形式は「プログラム データベース (/Zi)」に設定され、リンカ/デバッグ/デバッグ情報の生成は「はい (/DEBUG)」に設定されています。これは正しいと思います。
c++ - コンパイラ PDB ファイルとリンカ PDB ファイル
PDB
それぞれコンパイラ ファイルとリンカー ファイルの違いについて混乱しています(つまり、Visual Studio ではProject Properties > C/C++ > Output Files > Program Database File Name
vs Project Properties > Linker > Debugging
)。私はオンラインで答えを見つけようとしましたが、これまでのところPDB
、コンパイラによるobj
ファイルはPDB
ファイル用に生成され、リンカーによるファイルはバイナリ(exeまたはdll)用に生成され、デバッグ。
そうでない場合は、違いを説明してください。いずれにせよ、コンパイラとリンカDLL
の出力ファイルを選択するオプションがある場所を作成するときの対処方法と、コンパイラのみがファイルPDB
を生成する LIB ファイルを作成するときの対処方法PDB
リンクは実行されません。
背景:ライブラリ/dll は複数のプロジェクトで使用されており
PDB
、デバッグ用のファイルが必要です。ファイルの場合、生成されるファイルlib
は 1 つだけなので、あいまいさはありませんPDB
。ただしDLL
、適切にデバッグするには両方のPDB
ファイルが必要ですか、それともリンカによって生成されたファイルだけが必要ですか?
.net - PDB ファイルと参照出力がありません
私の .Net アプリケーション A は、ライブラリ B への参照を持っています。ライブラリ B は、ライブラリ C への参照を持っています。(デバッグ モードで) A をリビルドすると、その出力ディレクトリには、B.DLL ファイルと B.PDB ファイルが含まれますが、 C.DLL ファイル。C.PDB が見つからないか、プロジェクトのデバッグ フォルダーからコピーされていません。
実際、B の出力ディレクトリを見ると、そこにも C.PDB がありません。ただし、C.PDB は少なくとも C の出力ディレクトリにあります。
これはなぜですか?どうすれば修正できますか?
更新: その PDB ファイルだけではないことがわかりました。ライブラリ全体は、それを参照するものの出力ディレクトリで更新されていません。そのような行動の原因は何ですか?ビジュアルスタジオのバグでしょうか?
c++ - winbase :: LoadLibrary()は.pdbsをロードしますか?
実行時にロードされたライブラリのデバッグに問題がありますが、不明な点は次のとおりです。
winbase :: LoadLibrary()はデバッグモードで.pdbをロードしますか?
そうでない場合は、DLLでデバッグを使用できない理由が説明されます。使用する場合は、少なくとも別の場所で問題を検索するように指示されます。
明らかなフォローアップ:そうでない場合は、VS2010にpdbをロードさせるにはどうすればよいですか?
[1] http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx
c# - .PDB ファイルとは?
PDB ファイルとは何ですか? また、ソリューションを再構築するときにリリース フォルダーから除外するにはどうすればよいですか?
reverse-engineering - シンボルの不一致、ida/windbg
最近、私は Windows カーネルについてもっと学ぼうとしていました。私のsys(win7 x64無料)の正しいシンボルをダウンロードしました。IDA を実行し、ntoskrnl.exe を開きます。IDA は、pdb ファイルを添付するかどうかを尋ねました。しかし、ほとんどの関数は解決されませんでした - sub_XXXXXX。そこで私は Windbg を実行し、ntoskrnl にあるはずのランダムに選択された関数 (KiSystemCall64) をアンアセンブルしました。そして、それは出力を示しています。しかし、IDAにはそのような機能はありません(または解決されませんでした)。要約すると、同じシンボルを使用して、WinDBg でアセンブルされていない関数は、IDA では解決されません (それらの兆候はありません) (およびその逆)。あなたからの助け、提案をいただければ幸いです。
c++ - DIA SDK から非カーネル (ユーザーがインポートした) dll をフィルタリングする方法は?
ユーザーがインポートしたすべてのdllを具体的にフィルタリングする必要があります。DIA SDK は、明示的にリンクされていないすべてのカーネルおよびその他のインポートを含む SymTagCompiland の下にあるすべてのモジュールを提供します。
実行時またはコンパイル時に明示的にリンクされている依存 Dll (モジュール) のみが必要です (プロジェクト構成のリンカーの入力領域で説明されています)。
これをフィルタリングするにはどうすればよいですか?
よろしく、 ウスマン
c++ - DIA SDKから仮想テーブルアドレスを計算/抽出できますか?
DIA SDKからvtable関数を実装している場合、タイプのvtableの開始ベースアドレスを抽出できますか?
よろしく、ウスマン
pdb-files - 古いOS(Windows 2000など)のpdb/symbolファイルの場所
Windows Server 2000のシンボルファイルを探していますが、MicrosoftWebサイトからダウンロードできるようになりません。
debugging - DIA SDK get_libraryName シンボルが IDiaSymbol に対して NULL を返すのはなぜですか?
関数が列挙された場所から正しい .dll/.exe を見つける必要があります。このために、関数が最初に定義されたファイル名(.dll/.exe)を返す必要があるget_libraryNameを使用しています。
しかし、毎回 NULL(BadPtr=0x00000) を返します。関数が定義および使用された場所から正確なファイル名を取得する方法はありますか?
よろしくハッサン