[發(fā)明專利]將主題可重放執(zhí)行跟蹤與比較可重放執(zhí)行跟蹤進(jìn)行區(qū)分在審
| 申請(qǐng)?zhí)枺?/td> | 202080093060.6 | 申請(qǐng)日: | 2020-11-24 |
| 公開(kāi)(公告)號(hào): | CN114981783A | 公開(kāi)(公告)日: | 2022-08-30 |
| 發(fā)明(設(shè)計(jì))人: | J·莫拉 | 申請(qǐng)(專利權(quán))人: | 微軟技術(shù)許可有限責(zé)任公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36;G06F11/34;G06F16/20 |
| 代理公司: | 北京市金杜律師事務(wù)所 11256 | 代理人: | 李輝 |
| 地址: | 美國(guó)華*** | 國(guó)省代碼: | 暫無(wú)信息 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 主題 重放 執(zhí)行 跟蹤 比較 進(jìn)行 區(qū)分 | ||
將主題可重放跟蹤與比較可重放跟蹤進(jìn)行區(qū)分包括標(biāo)識(shí)記錄在主題跟蹤中的第一指令序列內(nèi)的第一多個(gè)函數(shù),并且標(biāo)識(shí)記錄在比較跟蹤中的第二指令序列中的第二多個(gè)函數(shù)。標(biāo)識(shí)第一多個(gè)函數(shù)的第一多個(gè)組和第二多個(gè)函數(shù)的第二多個(gè)組。比較第一多個(gè)組和第二多個(gè)組,包括基于每個(gè)組的身份和與該組相對(duì)應(yīng)的(多個(gè))函數(shù)確定第一多個(gè)組中的每個(gè)第一組是否是以下至少一項(xiàng):等于第二多個(gè)組中的第二組、是第二多個(gè)組中的第二組的替換、從第二多個(gè)組中被刪除、或者插入第二多個(gè)組中。
背景技術(shù)
跟蹤和校正不期望的軟件行為是軟件開(kāi)發(fā)中的核心活動(dòng)。不期望的軟件行為可以包括很多事情,諸如執(zhí)行崩潰、運(yùn)行時(shí)異常、執(zhí)行性能緩慢、數(shù)據(jù)結(jié)果不正確、數(shù)據(jù)損壞等。不期望的軟件行為可能由各種各樣的因素觸發(fā),諸如數(shù)據(jù)輸入、用戶輸入、競(jìng)爭(zhēng)條件(例如,當(dāng)訪問(wèn)共享資源時(shí))等。鑒于觸發(fā)器的多樣性,不期望的軟件行為可能很少見(jiàn)并且看似隨機(jī),并且極難重現(xiàn)。因此,開(kāi)發(fā)人員標(biāo)識(shí)給定的不期望的軟件行為可能非常耗時(shí)并且困難。一旦標(biāo)識(shí)出不期望的軟件行為,確定其(多個(gè))根本原因可能很耗時(shí)并且困難。
開(kāi)發(fā)人員通常使用多種方法來(lái)標(biāo)識(shí)不期望的軟件行為,然后標(biāo)識(shí)應(yīng)用的代碼中導(dǎo)致不期望的軟件行為的(多個(gè))位置。例如,開(kāi)發(fā)人員可能會(huì)針對(duì)不同輸入來(lái)測(cè)試應(yīng)用的代碼的不同部分(例如,單元測(cè)試)。作為另一示例,開(kāi)發(fā)人員可能會(huì)推斷應(yīng)用的代碼在調(diào)試器中的執(zhí)行(例如,在代碼執(zhí)行時(shí)、通過(guò)設(shè)置斷點(diǎn)/觀察點(diǎn)、通過(guò)單步執(zhí)行代碼行、等等)。作為另一示例,開(kāi)發(fā)人員可能會(huì)在分析器中觀察代碼執(zhí)行行為(例如,時(shí)序、覆蓋率)。作為另一示例,開(kāi)發(fā)人員可能會(huì)將診斷代碼(例如,跟蹤語(yǔ)句)插入應(yīng)用的代碼中。
雖然常規(guī)的診斷工具(例如,調(diào)試器、分析器等)已經(jīng)用于“實(shí)時(shí)”前向執(zhí)行代碼,但新興形式的診斷工具能夠?qū)崿F(xiàn)“歷史”調(diào)試(也稱為“時(shí)間旅行”或“反向”調(diào)試),其中程序的(多個(gè))線程的至少部分的執(zhí)行被記錄到一個(gè)或多個(gè)跟蹤文件(即,執(zhí)行跟蹤)中。使用一些跟蹤技術(shù),執(zhí)行跟蹤可以包含“位準(zhǔn)確”的歷史執(zhí)行跟蹤數(shù)據(jù),這使(多個(gè))跟蹤線程的(多個(gè))記錄部分能夠被虛擬地“重放”(例如,經(jīng)由仿真)到個(gè)體指令(例如,機(jī)器代碼指令、中間語(yǔ)言代碼指令等)的粒度。因此,使用“位精確”的跟蹤數(shù)據(jù),診斷工具可以使開(kāi)發(fā)人員能夠推斷主題代碼的記錄的先前執(zhí)行,而不是該代碼的“實(shí)時(shí)”前向執(zhí)行。例如,使用執(zhí)行跟蹤,歷史調(diào)試器可能會(huì)提供如下用戶體驗(yàn),該用戶體驗(yàn)啟用前向和反向斷點(diǎn)/觀察點(diǎn)兩者,使得代碼能夠向前和向后單步執(zhí)行,等等。另一方面,歷史分析器可能能夠從先前執(zhí)行的代碼中導(dǎo)出代碼執(zhí)行行為(例如,時(shí)間、覆蓋率)。
由于現(xiàn)代微處理器通常以數(shù)萬(wàn)到數(shù)十萬(wàn)MIPS(每秒數(shù)百萬(wàn)條指令)的速率執(zhí)行,因此執(zhí)行跟蹤可以捕獲大量信息,即使僅捕獲線程執(zhí)行的幾分之一秒。因此,分析和呈現(xiàn)有關(guān)執(zhí)行跟蹤的信息可能會(huì)帶來(lái)重大的技術(shù)障礙。
發(fā)明內(nèi)容
本文中描述的至少一些實(shí)施例區(qū)分可重放執(zhí)行跟蹤。這可以包括將單個(gè)主題執(zhí)行跟蹤與單個(gè)比較執(zhí)行跟蹤(例如,1:1)進(jìn)行區(qū)分,將單個(gè)主題執(zhí)行跟蹤與多個(gè)比較執(zhí)行跟蹤(例如,1:N)進(jìn)行區(qū)分,和/或?qū)⒍鄠€(gè)主題執(zhí)行跟蹤與多個(gè)比較執(zhí)行跟蹤(例如,M:N)進(jìn)行區(qū)分。本文中的實(shí)施例通過(guò)對(duì)相關(guān)可執(zhí)行指令的序列進(jìn)行分組,并且基于這些組的屬性執(zhí)行區(qū)分來(lái)操作以確定這些組是否等效地執(zhí)行,即使這些組中的特定指令不同。因此,本文中的實(shí)施例可以區(qū)分跟蹤的指令集,即使那些指令從具有不同二進(jìn)制文件的應(yīng)用執(zhí)行(例如,由于代碼改變、編譯器改變、編譯器設(shè)置改變、處理器指令集架構(gòu)(ISA)改變等)。此外,本文中的實(shí)施例可以以不同的細(xì)節(jié)等級(jí)來(lái)區(qū)分跟蹤指令的不同部分,從而使得處理資源能夠?qū)S糜谀切┨貏e感興趣的區(qū)域。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟技術(shù)許可有限責(zé)任公司,未經(jīng)微軟技術(shù)許可有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202080093060.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 以注射方式執(zhí)行死刑的自動(dòng)執(zhí)行車的執(zhí)行床
- 過(guò)程執(zhí)行裝置、過(guò)程執(zhí)行方法以及過(guò)程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)
- 移動(dòng)通信系統(tǒng)中標(biāo)準(zhǔn)接口的消息跟蹤方法及其系統(tǒng)
- 網(wǎng)絡(luò)跟蹤系統(tǒng)及跟蹤控制方法
- 同步跟蹤自動(dòng)調(diào)節(jié)裝置
- 業(yè)務(wù)信令跟蹤方法、系統(tǒng)及裝置
- 超聲波診斷裝置
- 一種自動(dòng)跟蹤方法、自動(dòng)跟蹤設(shè)備及自動(dòng)跟蹤系統(tǒng)
- 多目標(biāo)跟蹤方法、系統(tǒng)、計(jì)算設(shè)備及存儲(chǔ)介質(zhì)
- 一種軌跡跟蹤方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種目標(biāo)跟蹤方法、裝置及存儲(chǔ)介質(zhì)
- 信號(hào)跟蹤方法、濾波方法、裝置及醫(yī)療設(shè)備





