BT

Portable PDBの紹介

| 作者: Jonathan Allen フォローする 524 人のフォロワー , 翻訳者 sasai フォローする 0 人のフォロワー 投稿日 2017年2月15日. 推定読書時間: 1 分 |

原文(投稿日:2017/02/06)へのリンク

コンパイル済みアプリケーションをデバッグするためには、バイナリ内のILあるいは機械語をソースコードの元の行に照合する必要がある。そのためのデータはアプリケーション自体に埋め込めるのだが、そうするとEXEやDLLのファイルサイズは大幅に増加する。代わりに通常は、別の「シンボル」ファイルが使われる。Windowsプラットフォームではこれを、PDBあるいは「プログラムデータベース」と呼んでいる。

PDBフォーマットはもともとC/C++用に設計されたが、.NETにも対応するように何年にもわたり拡張されてきた。残念なことに、このフォーマットはプロプライエタリなものとみなされ、きちんと文書化されておらず、実際にはWindows専用ライブラリを使わないと読めなかった。

.NET Coreとともに、Microsoftは新しいクロスプラットフォームのPDBライブラリが必要になった。彼らは既存のライブラリを単に移植するのではなく、代わりに、Windows PDBフォーマットを書き直すことにした。新しいPortable PDBフォーマットは、ネイティブコードに必要な機能をドロップして、.NET機能だけを残している。おかげでフォーマットはシンプルになり、PDBファイルのサイズは大幅に削減される。

Portable PDBフォーマットは、それを読むためのオープンソースライブラリとともに、ドキュメントが公開されている。ただし、これには欠点もある。Portable PDBフォーマットは、エディットコンティニュ、FXCopスタイルのコード解析(Roslynコード解析が動作)、プロファイリングツール、AOPやコードコントラクトなどのコンパイル後のビルドステップ、.NETデコンパイラをサポートしていない。こうした制約はいずれも恒久的なものではないが、新しいフォーマットをサポートするようツールが更新されるには時間がかかるだろう。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT