この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 36247|答える: 2

[出典] vs .pdbファイルが生成される理由と何

[リンクをコピー]
掲載地 2018/01/16 15:43:04 | | |
PDBファイルとは何のためのものですか?

PDBファイル:すべての開発者が知っておくべきこと

PDBシナリオの例:

.net/c# log4net エラー例外は行番号の原因を記録しません
http://www.itsvse.com/thread-3928-1-1.html
(出典:建築家)


PDBファイルとは何ですか?

ほとんどの開発者は、PDBファイルがソフトウェアのデバッグを助けるために使われていることを知っているはずです。 しかし、彼がどのように機能しているのかは、私たちがよく知らないかもしれません。 この記事では、PDBファイルの保存と内容について説明します。 また、デバッガがbinayに対応するPDBファイルをどのように見つけ、またbinayに対応するソースコードファイルをどのように見つけるかも記述しています。 この記事はすべてのネイティブおよびマネージド開発者向けです。

始める前に、まず2つの用語を定義しましょう。private buildは開発者自身のマシン上で生成されたビルドを指すものです。 パブリックビルドとは、パブリックビルドマシン上で生成されたビルドを指します。 プライベートビルドは比較的シンプルです。なぜならPDBとBinayが同じ場所にあるからで、通常問題はパブリックビルドに関するものです。  

すべての開発者が知っておくべき最も重要なことは「PDBファイルはソースコードと同じくらい重要だ」ということであり、それがなければデバッグすらできません。 公開ビルドの場合、シンボルサーバーはすべてのPDBを保存し、ユーザーがエラーを報告するとデバッガが自動的にbinay内の対応PDBファイルを見つけ、Visual StudioとWindbgの両方がシンボルサーバーへのアクセス方法を知っています。 PDBとbinayをシンボルサーバーに格納する前に、PDB実行をソースインデックスし、PDBとソースを関連付ける必要があります。  

次の部分では、シンボルサーバーとソースサーバーのインデックス作成がすでに設定されていることを前提とします。 TFS2010は、新しいビルドのためのソースインデックス作成やシンボルサーバーのコピーと同じくらい簡単にできます。

2. PDBファイルの内容

PDBの内容を正式に開始するにあたり、PDBは公開されているファイル形式ではありませんが、MicrosoftはPDBからデータを取得するためのAPIを提供しています。

ネイティブC++のPDBには以下の情報が含まれています:
* パブリック、プライベート、静的機能アドレス;
* グローバル変数の名前とアドレス;
* パラメータおよびローカル変数名およびスタック上のオフセット;
* クラス、構造、データの型定義;
* x86上のネイティブスタックをトラバースするためのフレームポインタ省略データ;
* ソースコードファイル内の名前と行数;

.NET PDBには2つの情報部分のみが含まれています:
* ソースコードファイル名と行数;
* および局所変数の名前;
* その他のすべてのデータはすでに 。 NETメタデータ;  





先の:Visual StudioはVimの強力な編集機能を追加し、防ぐのを難しくしています!
次に:データベースを使ったSQL Serverによるメール送信(sp_send_dbmail)
掲載地 2018/01/16 15:44:18 |
 地主| 掲載地 2022/12/08 21:44:33 |
VS 2022はプロジェクトを.pdbファイル生成する設定をします
https://www.itsvse.com/thread-10397-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com