微軟開源PDB
2016-02-15 17:53:58 來源:Jonathan Allen ,譯者 謝麗 評論:0 點擊:
PDB或“程序數(shù)據(jù)庫(Program DataBase)”是Windows生態(tài)系統(tǒng)的一個核心組件。不管你是使用C++編寫代碼,還是使用.NET編寫代碼,如果沒有PDB文件,即使是像單步執(zhí)行代碼這樣的基本任務(wù)也是不可能的。然而,PDB格式在很大程度上是個黑盒子。至少到目前為止是這樣。
幾年來,微軟已經(jīng)發(fā)布了公共API,允許開發(fā)人員直接查詢PDB文件。來自微軟的Jim Hogg在一篇博文的開始部分特別提到了以下三篇文章:
- PDB文件說明:https://support.microsoft.com/en-us/kb/121366
- 查詢PDB文件:https://msdn.microsoft.com/en-us/library/eee38t3h.aspx
- 調(diào)試接口訪問SDK:https://msdn.microsoft.com/en-us/library/x93ctkx8(VS.80).aspx
這些文章當然有用,但對于那些編寫編譯器和鏈接器的人(比如CLANG/LLVM社區(qū))來說,那還不夠。他們需要知道如何新建PDB文件,這就需要對PDB文件格式有一個更深入的了解。
為了應(yīng)對這種情況,微軟已經(jīng)遵循MIT許可協(xié)議發(fā)布了許多讀寫PDB文件所需的代碼。這些代碼無法直接編譯,因為它缺少必要的構(gòu)建文件。微軟發(fā)布這些代碼的目的是,讓開發(fā)人員可以閱讀或者重用他們需要的代碼部分。如果想要一個完整的解決方案,那么微軟建議繼續(xù)使用已發(fā)布的API。
Jim Hogg寫到:
PDB格式非常復(fù)雜。我們還不確定到目前為止上傳的文件是否已經(jīng)提供了你可能需要了解的所有細節(jié)。如果你有簡短的問題,那么請在這篇博文的評論中提出。但對于問題(例如,我需要查看定義XXX結(jié)構(gòu)的頭文件),請直接提交到GitHub項目,以便我們可以跟蹤和回復(fù)。
查看英文原文:Microsoft Open Sources PDB
相關(guān)熱詞搜索:PDB Open Source 語言 & 開發(fā) C++ 調(diào)試器 NET 調(diào)試 編譯器 微軟
上一篇:ZeroTurnaround創(chuàng)始人Jevgeni Kabanov及項目經(jīng)理Sten Suitsev談JRebel for Android
下一篇:DevOps在銀行系統(tǒng)里的神秘事實
