[發(fā)明專利]代碼異常檢測(cè)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010628920.3 | 申請(qǐng)日: | 2020-06-30 |
| 公開(kāi)(公告)號(hào): | CN111752600B | 公開(kāi)(公告)日: | 2023-02-03 |
| 發(fā)明(設(shè)計(jì))人: | 楊哲 | 申請(qǐng)(專利權(quán))人: | 深圳壹賬通智能科技有限公司 |
| 主分類號(hào): | G06F8/72 | 分類號(hào): | G06F8/72;G06F8/53;G06F8/41;G06F9/455 |
| 代理公司: | 北京英特普羅知識(shí)產(chǎn)權(quán)代理有限公司 11015 | 代理人: | 程超 |
| 地址: | 518052 廣東省深圳市*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 異常 檢測(cè) 方法 裝置 計(jì)算機(jī) 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開(kāi)了代碼異常檢測(cè)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),屬于測(cè)試領(lǐng)域。本發(fā)明可應(yīng)用于系統(tǒng)測(cè)試過(guò)程中。本發(fā)明的代碼異常檢測(cè)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),通過(guò)預(yù)先加載待執(zhí)行文件,逐個(gè)對(duì)待執(zhí)行文件中的第一代碼塊添加異常編譯代碼,生成可對(duì)自身的代碼塊進(jìn)行異常捕獲功能的第二代碼塊;根據(jù)第二代碼塊生成與待執(zhí)行文件對(duì)應(yīng)的目標(biāo)執(zhí)行文件;在執(zhí)行目標(biāo)執(zhí)行文件時(shí),若目標(biāo)執(zhí)行文件中的第二代碼塊異常,可通過(guò)異常編譯代碼將相應(yīng)的第二代碼塊轉(zhuǎn)換為源碼,從而達(dá)到快速獲取異常代碼塊對(duì)應(yīng)的源碼目的,耗時(shí)短、效率高。
技術(shù)領(lǐng)域
本發(fā)明涉及測(cè)試領(lǐng)域,尤其涉及代碼異常檢測(cè)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
隨著微服務(wù)架構(gòu)的盛行,一個(gè)系統(tǒng)往往被拆分成多個(gè)子系統(tǒng)來(lái)完成一個(gè)業(yè)務(wù)功能。由此產(chǎn)生的問(wèn)題是:線上異常定位難且定位時(shí)間長(zhǎng)。目前對(duì)于線上異常定位主要采用兩種方法:一種是基于日志級(jí)別進(jìn)行大數(shù)據(jù)分析;另一種是線下本地拉取代碼進(jìn)行分析。對(duì)于第一種方法而言,考慮到一條調(diào)用鏈上可存在多個(gè)子系統(tǒng)以及數(shù)十個(gè)接口,每個(gè)子系統(tǒng)都會(huì)在各自的接口級(jí)別打印日志,一旦某一個(gè)環(huán)境報(bào)錯(cuò),將會(huì)級(jí)聯(lián)引發(fā)其相關(guān)子系統(tǒng)打印錯(cuò)誤日志,進(jìn)而將真正發(fā)生異常的日志淹沒(méi),存在異常定位難且定位時(shí)間長(zhǎng)的缺陷。對(duì)于第二種方法而言,由于java語(yǔ)言的特性,線上運(yùn)行的代碼都是二進(jìn)制的字節(jié)碼,即使通過(guò)監(jiān)控定位到異常代碼,也無(wú)法查看線上源碼進(jìn)行快速異常鎖定,仍然需要取線下本地拉取代碼進(jìn)行分析,存在耗時(shí)長(zhǎng)、效率低的缺陷。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有系統(tǒng)的代碼線上異常定位難且定位時(shí)間長(zhǎng)的問(wèn)題,現(xiàn)提供一種旨在可線上動(dòng)態(tài)捕獲異常代碼的代碼異常檢測(cè)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),本發(fā)明還可應(yīng)用于智慧城市領(lǐng)域中,從而推動(dòng)智慧城市的建設(shè)。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種代碼異常檢測(cè)方法,應(yīng)用于虛擬機(jī)中,包括:
加載待執(zhí)行文件,所述待執(zhí)行文件包括至少一個(gè)第一代碼塊;
分別對(duì)所述待執(zhí)行文件中各個(gè)所述第一代碼塊添加異常編譯代碼,獲取與所述第一代碼塊對(duì)應(yīng)的第二代碼塊;
根據(jù)獲取的所述第二代碼塊生成與所述待執(zhí)行文件對(duì)應(yīng)的目標(biāo)執(zhí)行文件;
執(zhí)行所述目標(biāo)執(zhí)行文件,當(dāng)所述目標(biāo)執(zhí)行文件中的所述第二代碼塊異常時(shí),通過(guò)所述異常編譯代碼將相應(yīng)的所述第二代碼塊轉(zhuǎn)換為源碼。
優(yōu)選的,所述異常編譯代碼為反編譯邏輯代碼,或
所述異常編譯代碼包括異常捕獲代碼和反編譯邏輯代碼。
優(yōu)選的,所述分別對(duì)所述待執(zhí)行文件中各個(gè)所述第一代碼塊添加異常編譯代碼,獲取與所述第一代碼塊對(duì)應(yīng)的第二代碼塊,包括:
檢測(cè)所述待執(zhí)行文件中的各個(gè)所述第一代碼塊是否符合預(yù)設(shè)條件;
當(dāng)所述第一代碼塊符合所述預(yù)設(shè)條件時(shí),在所述第一代碼塊中添加反編譯邏輯代碼,生成與所述第一代碼塊對(duì)應(yīng)的所述第二代碼塊;
當(dāng)所述第一代碼塊不符合所述預(yù)設(shè)條件時(shí),在所述第一代碼塊中添加異常捕獲代碼和反編譯邏輯代碼,生成與所述第一代碼塊對(duì)應(yīng)的所述第二代碼塊。
優(yōu)選的,所述預(yù)設(shè)條件為所述第一代碼塊包括所述異常捕獲代碼,異常捕獲代碼為exception字節(jié)碼;
所述當(dāng)所述第一代碼塊符合所述預(yù)設(shè)條件時(shí),在所述第一代碼塊中添加反編譯邏輯代碼,生成與所述第一代碼塊對(duì)應(yīng)的所述第二代碼塊包括:
當(dāng)所述第一代碼塊包括exception字節(jié)碼時(shí),在所述第一代碼塊的結(jié)尾處添加所述反編譯邏輯代碼,以生成所述第二代碼塊。
優(yōu)選的,所述根據(jù)獲取的所述第二代碼塊生成與所述待執(zhí)行文件對(duì)應(yīng)的目標(biāo)執(zhí)行文件,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳壹賬通智能科技有限公司,未經(jīng)深圳壹賬通智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010628920.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 異常檢測(cè)裝置、異常檢測(cè)方法
- 異常檢測(cè)方法、異常檢測(cè)裝置及異常檢測(cè)系統(tǒng)
- 異常檢測(cè)裝置、異常檢測(cè)方法以及異常檢測(cè)系統(tǒng)
- 異常檢測(cè)裝置、異常檢測(cè)方法以及異常檢測(cè)系統(tǒng)
- 異常檢測(cè)裝置、異常檢測(cè)方法及異常檢測(cè)系統(tǒng)
- 異常探測(cè)裝置、異常探測(cè)方法以及計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)
- 異常檢測(cè)裝置、異常檢測(cè)方法及記錄介質(zhì)
- 異常檢測(cè)裝置、異常檢測(cè)系統(tǒng)以及異常檢測(cè)方法
- 異常檢測(cè)系統(tǒng)、異常檢測(cè)裝置和異常檢測(cè)方法
- 異常檢測(cè)方法、異常檢測(cè)裝置及異常檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法和檢測(cè)組件
- 檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法以及記錄介質(zhì)
- 檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)裝置、檢測(cè)設(shè)備及檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)
- 檢測(cè)組件、檢測(cè)裝置以及檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法及檢測(cè)程序
- 檢測(cè)電路、檢測(cè)裝置及檢測(cè)系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





