林廣棟 黃光紅 耿銳
摘要:DWARF格式是一種常見的調試信息格式,它以節點作為存儲調試信息的基本單元。BWDSP系列芯片的調試系統使用一種自主可控的算法分析C語言的DWARF調試信息。該方法首先讀取.debug_abbrev節區,獲得節點的縮略信息。然后讀取.debug_info節區,獲取調試信息節點屬性的取值,并把這些調試信息存儲為內部數據結構。該算法已經在BWDSP系列芯片的調試系統中得到成功的使用,實踐驗證了其可行性與正確性。
關鍵詞:DWARF;調試信息;調試系統;BWDSP
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1009-3044(2014)25-5825-09
A Method to Analyze DWARF Format C Language Debugging Information
LIN Guang-dong, HUANG Guang-hong, GENG Rui
(NO. 38th Research Institute of China Electronic Technology Group Corporation, Hefei 230088, China)
Abstract: DWARF format is a widely used debugging information format. It uses entries as basic element to store debugging information. The debugger system of BWDSP develops an innovative algorithm to analyze DWARF debugging information of C language. Firstly, the algorithm read .debug_abbrev section to retrieve abbreviation information of entry. Then the algorithm analyzes .debug_info section to get value of attribute of entries, and finally stores the extracted information in local data structures. The algorithm has been applied successfully in debugger system of BWDSP and has been proved to be applicable and corrective.
Key words: DWARF; debugging information; debugger system; BWDSP
BWDSP系列芯片是中國電子科技集團公司第38所自主研發的一系列高性能通用DSP,包括單核、雙核等多個型號,受國家十二五“核高基”科技專項支持。BWDSP系列芯片擁有自主開發的調試系統,該調試系統使用自主開發的算法分析調試信息。該調試系統支持的調試信息格式包括DWARF、STABS等等,
DWARF是一種常用的調試信息格式,它包括DWARF1、DWARF2、DWARF3三個版本。其中DWARF2格式是使用最廣泛,定義最標準的DWARF格式。BWDSP芯片調試系統支持對DWARF2版本調試信息的分析。
DWARF格式中,行號調試信息在.debug_line節區存儲,而高級語言的源文件、函數、變量、類型等調試信息在.debug_info節區中存儲。該文主要介紹對高級語言調試信息的分析,提出的算法主要針對C語言調試信息。
.debug_info節區中,調試信息以節點的形式存在。節點可以存儲一個源文件的調試信息、一個變量的調試信息、一個函數的調試信息等等。節點之間存在兄弟或父子的關系,一個源文件的調試信息節點形成一個調試信息樹?!?br>