• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    overlay符號表建立和查找的方法、裝置及程序調(diào)制系統(tǒng)制造方法及圖紙

    技術(shù)編號:8452922 閱讀:264 留言:0更新日期:2013-03-21 14:37
    本發(fā)明專利技術(shù)實(shí)施例公開了overlay符號表建立和查找的方法、裝置及程序調(diào)制系統(tǒng),其中overlay符號表建立方法包括:建立VMA和LMA的地址關(guān)系表時包括核標(biāo)識;在判斷映射是否正確時包括判斷代碼段對應(yīng)的全局代碼段所屬的image所對應(yīng)的核信息與地址關(guān)系表中的核標(biāo)識是否匹配;建立blockvector的塊鏈表,塊鏈表中包括有blockvector的核標(biāo)識。由于本申請中在程序調(diào)試時,可以根據(jù)核標(biāo)識查找對應(yīng)的塊信息和對應(yīng)的symtable_and_line信息,從而建立blockvector列表后,獲取block時會顯示正確的符號;避免了多核環(huán)境下在采用overlay方式進(jìn)行程序調(diào)試時出現(xiàn)的調(diào)試錯誤。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及程序開發(fā)領(lǐng)域,更具體地說,涉及overlay符號表建立和查找的方法、 裝置及程序調(diào)制系統(tǒng)。
    技術(shù)介紹
    ⑶B (GNU Debugger,開源組織調(diào)試器)是開源組織發(fā)布的一個強(qiáng)大的UNIX下的程序調(diào)試工具。調(diào)試人員可以自定義程序或指令的運(yùn)行方式;可以讓被調(diào)試的程序或指令停止在設(shè)定的斷點(diǎn)處,以使調(diào)試人員檢測程序或指令的運(yùn)行過程。⑶B包括用戶交互界面、符號表處理模塊和控制模塊;其運(yùn)行過程為,調(diào)試人員通過交互界面輸入命令,命令和符號通過解析后,經(jīng)由控制模塊處理后轉(zhuǎn)換為RSP協(xié)議命令到目標(biāo)端;目標(biāo)端解析RSP協(xié)議命令后,執(zhí)行相應(yīng)的命令,生成結(jié)果;符號表處理模塊解析所述結(jié)果并將解析后的結(jié)果輸出到交互界面。在對命令進(jìn)行編譯的過程中,在內(nèi)存中鏡像處理器的一級緩存的地址中的代碼段時,往往都是在內(nèi)存中按照地址順序來分配空間;現(xiàn)有技術(shù)中,可以采用overlay調(diào)試技術(shù)以緩解一級緩存空間不足,該調(diào)試技術(shù)的技術(shù)方案具體包括在建立overlay符號表時,首先在overlay的代碼段建立〈VMA,LMA>的地址關(guān)系表,從而可以實(shí)現(xiàn)訪問VMA對應(yīng)的已經(jīng)映射的代碼段,其中,LMA為加載內(nèi)存地址,S卩,Load Memory Addr ;VMA 為虛擬內(nèi)存地址,即 Virtual Memory Addr。在映射完成后,建立矢量塊,并將矢量塊的起始地址按照由高到低的地址順序建立塊鏈表;建立符號表的linetable,即,代碼段與地址之間的對應(yīng)關(guān)系表,并按照代碼段所屬PC的地址由高到低建立linetable的鏈表。但是,專利技術(shù)人經(jīng)過研究發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在以下缺陷,當(dāng)采用多核處理器進(jìn)行 overlay調(diào)試時,由于在符號表中不能區(qū)分處理器中的多個核,所以在為一個處理器核建立 blockvector列表后,在獲取符號時可能會顯不符號錯誤,即有可能是另外一個處理器核的符 號;此外,基于相同的原因,在建立鏈表后,當(dāng)通過順序查找表項(xiàng)并顯示代碼和行號信息時,也可能會產(chǎn)生錯誤的結(jié)果,即,有可能會顯示另外一個處理器核上一級緩存上的對應(yīng)的行號信息,從而造成調(diào)試錯誤。
    技術(shù)實(shí)現(xiàn)思路
    有鑒于此,本專利技術(shù)實(shí)施例提供一種建立overlay符號表的方法,以解決現(xiàn)有技術(shù)存在的,當(dāng)采用多核處理器進(jìn)行overlay調(diào)試時,獲取block時顯示符號錯誤的問題。本專利技術(shù)實(shí)施例是這樣實(shí)現(xiàn)的—方面,本申請?zhí)峁┝艘环Noverlay符號表建立方法,包括建立overlay代碼段的虛擬內(nèi)存VMA和加載內(nèi)存LMA的地址關(guān)系表,所述地址關(guān)系表包括VMA、LMA和核標(biāo)識的三元關(guān)系,其中,所述核標(biāo)識從overlay表overlay_table中獲取;判斷映射是否正確,包括將所述代碼段的VMA和LMA與所述地址關(guān)系表中的VMA 和LMA與中進(jìn)行匹配,若匹配成功,則判斷代碼段對應(yīng)的全局代碼段所屬的image所對應(yīng)的核信息與所述地址關(guān)系表中的核標(biāo)識是否匹配,若匹配成功,則認(rèn)為映射正確;建立矢量塊blockvector,并按照所述blockvector的起始地址由高到低的順序建立所述blockvector的塊鏈表,所述塊鏈表中包括所述blockvector的核標(biāo)識;建立線性表linetable,并按所述代碼段所屬PC的地址由低到高順序建立 linetable 鏈表。進(jìn)一步的,所述核標(biāo)識為通過在線讀取對象target上的overlay_table而獲得。進(jìn)一步的,所述核標(biāo)識為通過讀取鏈接腳本中overlayjable的配置信息而獲得。—方面,本申請還提供了一種overlay符號表查找方法,包括查找當(dāng)前執(zhí)行程序中指令所對應(yīng)的塊信息,包括判斷塊中核標(biāo)識是否和當(dāng)前執(zhí)行程序中指令的被調(diào)試核對應(yīng);查找當(dāng)前執(zhí)行程序中指令所對應(yīng)的symtable_and_line信息,包括在最接近的PC 值的表項(xiàng)〈PC,line)中查找與所述PC對應(yīng)的symbol中最小行號的值最接近的值。進(jìn)一步的,還包括判斷代碼段是否為已映射,包括判斷所述代碼段中塊信息中的所述核標(biāo)識是否與當(dāng)前被調(diào)試核對應(yīng)。一方面,本申請還提供了一種程序調(diào)試方法,包括建立overlay符號表方法和查找overlay符號表方法;所述建立overlay符號表方法,包括建立overlay代碼段的虛擬內(nèi)存VMA和加載內(nèi)存LMA的地址關(guān)系表,所述地址關(guān)系表包括VMA、LMA和核標(biāo)識的三元關(guān)系,其中,所述核標(biāo)識從overlay表overlay_table中獲取;判斷映射是否正確,包括將所述代碼段的VMA和LMA與所述地址關(guān)系表中的VMA 和LMA與中進(jìn)行匹配,若匹配成功,則判斷代碼段對應(yīng)的全局代碼段所屬的image所對應(yīng)的核信息與所述地址關(guān)系表中的核標(biāo)識是否匹配,若匹配成功,則認(rèn)為映射正確;建立矢量塊blockvector,并按照所述blockvector的起始地址由高到低的順序建立所述blockvector的塊鏈表,所述塊鏈表中包括所述blockvector的核標(biāo)識;建立線性表linetable,并按所述代碼段所屬PC的地址由低到高順序建立 linetable 鏈表所述查找overlay符號表方法包括查找當(dāng)前執(zhí)行程序中指令所對應(yīng)的塊信息,包括判斷塊中核標(biāo)識是否和當(dāng)前執(zhí)行程序中指令的被調(diào)試核對應(yīng);查找當(dāng)前執(zhí)行程序中指令所對應(yīng)的symtable_and_line信息,包括在最接近的PC 值的表項(xiàng)〈PC,line)中查找與所述PC對應(yīng)的symbol中最小行號的值最接近的值。進(jìn)一步的,還包括判斷代碼段是否為已映射,包括判斷所述代碼段中塊信息中的所述核標(biāo)識是否與當(dāng)前被調(diào)試核對應(yīng)。6進(jìn)一步的,所述核標(biāo)識為通過在線讀取對象target上的overlay_table而獲得。 —table進(jìn)一步的,所述核標(biāo)識為通過讀取鏈接腳本中overlayjable的配置信息而獲得。—方面,本申請還提供了一種overlay符號表建立裝置,包括關(guān)系表建立模塊,用于建立overlay代碼段的虛擬內(nèi)存VMA和加載內(nèi)存LMA的地址關(guān)系表,所述地址關(guān)系表包括VMA、LMA和核標(biāo)識的三元關(guān)系,其中,所述核標(biāo)識從 overlay 表 overlay_table 中獲取;映射匹配模塊,用于判斷映射是否_正ta確ble,包括將所述代碼段的VMA和 LMA與所述地址關(guān)系表中的VMA和LMA與中進(jìn)行匹配,若匹配成功,則判斷代碼段對應(yīng)的全局代碼段所屬的image所對應(yīng)的核信息與所述地址關(guān)系表中的核標(biāo)識是否匹配,若匹配成功,則認(rèn)為映射正確;矢量塊建立模塊,用于建立矢量塊blockvector,并按照所述blockvector的起始地址由高到低的順序建立所述blockvector的塊鏈表,所述塊鏈表中包括所述 blockvector的核標(biāo)識;Linetable建立模塊,用于建立線性表linetable,并按所述代碼段所屬PC的地址由低到高順序建立linetable鏈表。進(jìn)一步的,所述關(guān)系表建立|旲塊包括核標(biāo)識獲取單元,用于通過讀取鏈接腳本中overlay_table的配置信息在線讀取 target上的overlay_tabl獲得核標(biāo)識。—方面,本申請還提供了一種overlay符號表查找裝置,包括塊信息查找模塊,用于查找當(dāng)前執(zhí)行程序中指令所對應(yīng)的塊信息,包括判斷塊中核標(biāo)識是否和當(dāng)前執(zhí)行程序中指令的被調(diào)試核對應(yīng);sym本文檔來自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點(diǎn)】
    一種overlay符號表建立方法,其特征在于,包括:建立overlay代碼段的虛擬內(nèi)存VMA和加載內(nèi)存LMA的地址關(guān)系表,所述地址關(guān)系表包括VMA、LMA和核標(biāo)識的三元關(guān)系,其中,所述核標(biāo)識從overlay表overlay_table中獲取;判斷映射是否正確,包括:將所述代碼段的VMA和LMA與所述地址關(guān)系表中的VMA和LMA與中進(jìn)行匹配,若匹配成功,則判斷代碼段對應(yīng)的全局代碼段所屬的image所對應(yīng)的核信息與所述地址關(guān)系表中的核標(biāo)識是否匹配,若匹配成功,則認(rèn)為映射正確;建立矢量塊blockvector,并按照所述blockvector的起始地址由高到低的順序建立所述blockvector的塊鏈表,所述塊鏈表中包括所述blockvector的核標(biāo)識;建立線性表linetable,并按所述代碼段所屬PC的地址由低到高順序建立linetable鏈表。

    【技術(shù)特征摘要】

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:卓玉樟崔世強(qiáng)
    申請(專利權(quán))人:華為技術(shù)有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产精品爆乳奶水无码视频| 久久亚洲AV成人无码软件| 久久无码高潮喷水| 成人无码Av片在线观看| 亚洲AV无码一区二区二三区入口| 无码成人精品区在线观看| 亚洲中文字幕无码永久在线| 亚洲AV永久无码精品网站在线观看| 国产品无码一区二区三区在线蜜桃| 亚洲精品无码久久久久牙蜜区| 亚洲国产精品无码久久久蜜芽 | 国产精品免费看久久久无码| 国产精品热久久无码av| 亚洲中文字幕久久无码| 久久精品成人无码观看56| 中文字幕丰满乱孑伦无码专区| 本道久久综合无码中文字幕| 亚洲人av高清无码| 精品亚洲AV无码一区二区三区| 国产在线无码不卡影视影院| 成人av片无码免费天天看| 国产成人无码A区在线观看导航| 亚洲AV无码一区东京热| 亚洲精品无码永久中文字幕 | 中文字幕无码av激情不卡久久| 无遮掩无码h成人av动漫| av无码久久久久不卡免费网站| 亚洲AV无码精品无码麻豆| 无码午夜成人1000部免费视频| 亚洲国产精品无码久久一线| 亚洲国产精品无码久久久蜜芽| 国产无遮挡无码视频免费软件| 中文无码人妻有码人妻中文字幕| 亚洲?V无码成人精品区日韩| 成人h动漫精品一区二区无码| 亚洲国产91精品无码专区| 亚洲AV永久无码天堂影院| 无码精品久久久久久人妻中字| 无码国产乱人伦偷精品视频| 亚洲成AV人在线观看天堂无码 | 亚洲一级Av无码毛片久久精品 |