問題タブ [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.
visual-studio-2008 - VS 2008が一部のRELEASEプロジェクトのPDBを作成するのに、他のプロジェクトは作成しないのはなぜですか?
VS 2003、2005、2008から移行したいくつかのプロジェクトを含むソリューションがあります。RELEASE構成用にすべてのプロジェクトをコンパイルすると、VS 2008は一部のプロジェクトのPDBファイルを作成しますが、他のプロジェクトは作成しません。なんで?
各プロジェクトの[プロパティ]ページの[ビルド]タブで、[デバッグ定数の定義]がオフになっていて、[コードの最適化]がオンになっていることがわかります。プロジェクトごとにCSPROJを調べたところ、この動作が変わるように見える違いはありません。CSPROJファイルで何を探す必要がありますか?
このソリューションのすべてのプロジェクトは、Windows実行可能ファイルを作成する1つのプロジェクトを除いて、クラスライブラリを生成します。
visual-c++ - 複数のPDBファイルをマージするにはどうすればよいですか?
現在、単一のコマンドラインツールを使用して、WindowsとLinuxの両方で製品を構築しています。
Siはこれまでのところうまく機能しており、以前のビルドシステムで許可されていたものよりも細かい依存関係でソースからビルドすることができます。これにより、優れたインクリメンタルビルド機能とパラレルビルド機能が購入できます。
ビルドプロセスを簡単に説明すると、通常のようになります。
msvc C /C++コンパイラはそれを適切にサポートします。
最近、いくつかの静的ライブラリを構築する必要が出てきました。収集したものから、静的ライブラリを構築するプロセスは次のとおりです。
単一の.pdbはcl.exe、すべての.cppソースに対して1回だけ実行する必要があることを意味します。この単一の実行は、この静的ライブラリのビルドを並列化できないことを意味します。これは本当に残念です。
ドキュメント(および使用可能なコマンドラインオプション)に従って、もう少し詳しく調査しました。
cl.exe静的ライブラリを構築する方法を知りませんlib.exe.pdbファイルを構築する方法を知りません
複数のPDBファイルをマージする方法を知っている人はいますか?静的ライブラリのビルドが遅くなる運命にありますか?Incredibuildのようなツールはこの問題をどのように回避しますか?
c++ - 最適化は、PDB を使用して VC++ アプリをデバッグする機能に影響を与える可能性がありますか?
リリース ビルドを適切にデバッグするには、PDB ファイルが必要です。コンパイラがさまざまな種類の最適化 (FPO、PGO、組み込み関数、インライン化など) を使用すると、PDB ファイルが使いにくくなることがありますか? もしそうなら、最適化の影響は深刻ですか、それとも隣接するコード行が混同されるだけですか?
(私はVC2005を使用しており、最適化されたパフォーマンスよりもデバッグ可能性を常に選択しますが、質問は一般的です)
.net - pdb ファイルにはどのくらいの情報が含まれていますか? (C#/.NET)
商用アプリケーションと一緒に pdb ファイルを再配布するのは賢明ですか?
ときどき、スタック トレースを使用して、デプロイされたアプリケーションからより詳細なエラー レポート ログを取得しています。これらのファイルに依存せずにこの機能を実現できますか?
また、これらのファイルには元のソース コードのヒントがどの程度含まれていますか? それを使用してアプリケーションをリバース エンジニアリングするのは簡単ですか?
vb.net - PDB ファイルを作成できません
何らかの理由で、今日、私のプロジェクトの 1 つでこのエラーが発生し始めました。
エラー 1 出力ファイル 'C:\MyProject\Release\MyProject.pdb' に書き込めません: 不明なエラー
高度なコンパイル オプションを使用して、情報を生成およびデバッグしないように変更すると、プロジェクトは正常にコンパイルされます。
Release フォルダーのアクセス許可を全員に対してフルに設定しようとしたので、アクセス許可の問題ではないと思います。また、ログ ファイルには、この問題に関する詳細情報を提供するものは何もありません。
なぜこのエラーが表示され始めるのか、またはそれを修正する方法を知っている人はいますか?
ありがとう。
更新:マシンを再起動し、VS を数回再起動し、問題が発生している既存の OBJ ファイルを完全に削除しました。それでも同じエラーが発生します。
これは、先週正常に機能していた単純な 1 つのプロジェクト ソリューションです。Release および Debug フォルダーから問題なく削除できるため、VS が PDB ファイルをビルドしようとすると問題が発生するようです。それらを再構築しようとすると、VSはファイルの作成を開始します(サイズは約1.4MBです)が、それでもエラーが発生します。
.net-3.5 - GAC の使用時に本番環境にログインするためのスタック トレース情報を取得する方法
本番環境で例外などをロギングするためのスタックトレース(ファイル名と行番号)情報を取得したいと考えています。DLL は GAC にインストールされます。これを行う方法はありますか?
この記事では、PDB ファイルを GAC に配置する方法について説明しています。
これらは、デバッグ シンボル (.pdb ファイル) を GAC にコピーする必要があると表示されるため、簡単に見つけることができます。それ自体では、それは機能しません。
この記事は VS を使用したデバッグに言及していることは知っていますが、スタックトレースのログ記録にも当てはまると思いました。
オプションであると言った最適化コードのチェックを外すことを除いて、この質問への回答の指示に従いました。
dll と pdb を GAC にコピーしましたが、まだスタック トレース情報を取得できません。スタック トレースのログ ファイルには次のように記録されます。
Nログを使用しています。
私のNLogレイアウトは次のとおりです。
${stacktrace:format=Raw} が関連部分です。
c# - ソースコードの場所情報(ファイル/行/列)を.NETアセンブリに含めるにはどうすればよいですか?
.NETアセンブリから、ソースファイル内のクラス/構造体/インターフェイス定義の場所(ファイル名、begin_line、begin_column、end_line、end_column)を取得できる必要があります。
私の頭に浮かんだ最初の解決策は、いくつかのpdb quering apiを使用することでしたが、この方法でメソッド定義のためにのみそのような情報を取得できるようです。または多分私は間違っています...
コンテキストを提供するために、VS 2008にアドインを構築しようとしています。このアドインは、VS自動化モデルを介してすべてのソリューションプロジェクトをコンパイルし、アセンブリを取得し、Reflectionsを使用して視覚的なモデリング表現を作成します。私が必要としているのは、ソースコードとモデル要素の間の接続です。実際、私はソースを何らかの方法で分析/変更して、位置情報を記憶させることさえできました。
任意のアイデアをいただければ幸いです。
c# - pdb はソース ファイルの型定義に関する情報を提供しますか?
DIA api、dbghelp については知っています。しかし、それらを使用して、ファイル、begin_line、begin_column、end_line、end_column などの型定義の場所情報をアセンブリおよび生成された pdb から抽出できますか?
答えが「はい」の場合、誰かがそこにある簡単な例を教えてもらえますか?
debugging - サポートされていない Vault SCM アプリに対する Visual Studio ソース サーバー/シンボル ストアの構成
Visual Studio 2008 でのデバッグ時にソース管理ファイルにアクセスできるように、社内開発コードをシンボル サーバーとして構成しようとしています。これは、ライブラリのコア セットを参照する他のプロジェクトで使用できます。
残念ながら、私たちは SCM システムに SourceGear Vault を使用していますが、.PDB ファイルをソース管理参照でインデックス化することに関しては、現在サポートされていません。
ソース管理に直接アクセスする必要はありません。ネットワーク共有アクセスだけで十分ですが、PDB ファイル内の参照を更新する方法がわかりません。
シンボル サーバーを構成し、元のビルド ソース コードへの正しい参照と思われるものを追加しましたが、Visual Studio でデバッグし、参照されているコードにステップインしようとすると、ソース サーバーから PDB が読み込まれず、したがって、ソース コードは利用できません。
また、Visual Studio が [シンボルの読み込み] コマンドを使用してコア .NET PDB ファイルをダウンロードできる場合、モジュールをクリックしてもそのオプションがありません。
この種のものを設定した個人的な経験がある人はいますか?
誰かが助けてくれたらどうもありがとう。