微軟開源PDB
PDB或“程序數據庫(Program DataBase)”是Windows生態系統的一個核心組件。不管你是使用C++編寫代碼,還是使用.NET編寫代碼,如果沒有PDB文件,即使是像單步執行代碼這樣的基本任務也是不可能的。然而,PDB格式在很大程度上是個黑盒子。至少到目前為止是這樣。
幾年來,微軟已經發布了公共API,允許開發人員直接查詢PDB文件。來自微軟的Jim Hogg在一篇 博文 的開始部分特別提到了以下三篇文章:
- PDB文件說明: https://support.microsoft.com/en-us/kb/121366
- 查詢PDB文件: https://msdn.microsoft.com/en-us/library/eee38t3h.aspx
- 調試接口訪問SDK: https://msdn.microsoft.com/en-us/library/x93ctkx8(VS.80).aspx
這些文章當然有用,但對于那些編寫編譯器和鏈接器的人(比如CLANG/LLVM社區)來說,那還不夠。他們需要知道如何新建PDB文件,這就需要對PDB文件格式有一個更深入的了解。
為了應對這種情況,微軟已經遵循MIT許可協議發布了許多 讀寫PDB文件所需的代碼 。這些代碼無法直接編譯,因為它缺少必要的構建文件。微軟發布這些代碼的目的是,讓開發人員可以閱讀或者重用他們需要的代碼部分。如果想要一個完整的解決方案,那么微軟建議繼續使用已發布的API。
Jim Hogg寫到:
PDB格式非常復雜。我們還不確定到目前為止上傳的文件是否已經提供了你可能需要了解的所有細節。如果你有簡短的問題,那么請在這篇博文的評論中提出。但對于問題(例如,我需要查看定義XXX結構的頭文件),請直接提交到GitHub項目,以便我們可以跟蹤和回復。
查看英文原文: Microsoft Open Sources PDB
來自: http://www.infoq.com/cn/news/2016/02/PDB-Open-Source
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!