[發(fā)明專利]一種javascript代碼的調(diào)試控制方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201811644744.1 | 申請(qǐng)日: | 2018-12-30 |
| 公開(公告)號(hào): | CN109669876B | 公開(公告)日: | 2022-03-08 |
| 發(fā)明(設(shè)計(jì))人: | 陳松林 | 申請(qǐng)(專利權(quán))人: | 艾普陽(yáng)科技(深圳)有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 深圳市深佳知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518000 廣東省深圳市南山區(qū)粵海*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 javascript 代碼 調(diào)試 控制 方法 系統(tǒng) | ||
1.一種javascript代碼的調(diào)試控制系統(tǒng),其特征在于,包括代碼模塊、調(diào)試器及調(diào)試工具,其中:
所述代碼模塊,用于:加載原代碼,為所述原代碼加入特定標(biāo)記得到標(biāo)記代碼,其中,所述原代碼為javascript代碼,所述特定標(biāo)記為調(diào)用所述調(diào)試器中對(duì)應(yīng)函數(shù)實(shí)現(xiàn)進(jìn)入函數(shù)、跳出函數(shù)或執(zhí)行代碼語(yǔ)句行的操作的函數(shù);
所述調(diào)試工具,用于:加載所述原代碼,以及在用戶基于所述原代碼實(shí)現(xiàn)的控制下發(fā)送相應(yīng)調(diào)試指令至所述調(diào)試器;
所述調(diào)試器,用于:加載及執(zhí)行所述標(biāo)記代碼,在執(zhí)行所述標(biāo)記代碼的過程中接收所述調(diào)試工具發(fā)送的調(diào)試指令,并基于所述調(diào)試指令通過控制與所述特定標(biāo)記對(duì)應(yīng)的函數(shù)控制所述標(biāo)記代碼的執(zhí)行,以實(shí)現(xiàn)對(duì)應(yīng)的代碼調(diào)試;
所述調(diào)試器包括:
堆棧管理單元,用于:跟蹤所述標(biāo)記代碼中的特定標(biāo)記,并基于跟蹤所得信息為所述標(biāo)記代碼維護(hù)包括表示函數(shù)調(diào)用關(guān)系的函數(shù)調(diào)用堆棧的堆棧數(shù)據(jù)結(jié)構(gòu),以支持所述調(diào)試器其他對(duì)應(yīng)功能的實(shí)現(xiàn);
跟蹤所述標(biāo)記代碼中的特定標(biāo)記,并基于跟蹤所得信息為所述標(biāo)記代碼維護(hù)包括表示函數(shù)調(diào)用關(guān)系的函數(shù)調(diào)用堆棧的堆棧數(shù)據(jù)結(jié)構(gòu),以支持所述調(diào)試器其他對(duì)應(yīng)功能的實(shí)現(xiàn),包括:
堆棧管理單元跟蹤帶有特定標(biāo)記的javascript代碼中的函數(shù)入口標(biāo)記、函數(shù)出口標(biāo)記及代碼語(yǔ)句行標(biāo)記,維護(hù)帶有特定標(biāo)記的javascript代碼執(zhí)行時(shí)的javascript函數(shù)調(diào)用關(guān)系,并依據(jù)帶特定標(biāo)記的javascript代碼中的特定標(biāo)記中的函數(shù)入口標(biāo)記和函數(shù)出口標(biāo)記,為正在執(zhí)行的帶特定標(biāo)記的javascript代碼維護(hù)運(yùn)行堆棧數(shù)據(jù)結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述調(diào)試器包括:
斷點(diǎn)管理單元,用于:在所述調(diào)試指令的觸發(fā)下,為所述標(biāo)記代碼添加、啟用、禁用、編輯或移除斷點(diǎn);
調(diào)試控制單元,用于:在所述調(diào)試指令的觸發(fā)下,實(shí)現(xiàn)對(duì)應(yīng)的調(diào)試控制功能,所述調(diào)試控制功能包括啟動(dòng)調(diào)試、停止調(diào)試、暫停調(diào)試、進(jìn)入函數(shù)、跳出函數(shù)、單步及由暫停調(diào)試或命中斷點(diǎn)狀態(tài)返回的繼續(xù)調(diào)試。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述調(diào)試器包括:
變量操作單元,用于:當(dāng)在執(zhí)行所述標(biāo)記代碼的過程中命中斷點(diǎn)時(shí),在所述調(diào)試指令的觸發(fā)下實(shí)現(xiàn)針對(duì)指定變量的取值、更改值、變量類型識(shí)別的操作。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述調(diào)試器包括:
斷點(diǎn)命中通知單元,用于:按照所述調(diào)試指令暫停調(diào)試或命中斷點(diǎn)時(shí),將當(dāng)前執(zhí)行到的代碼語(yǔ)句行的行號(hào)、當(dāng)前代碼語(yǔ)句行所屬對(duì)象、當(dāng)前代碼語(yǔ)句行所屬函數(shù)以及當(dāng)前的函數(shù)調(diào)用堆棧發(fā)送給所述調(diào)試工具。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述調(diào)試器包括:
應(yīng)用關(guān)閉通知單元,用于:當(dāng)所述用戶手動(dòng)關(guān)閉所述標(biāo)記代碼的程序或所述標(biāo)記代碼的程序自行關(guān)閉時(shí),向所述調(diào)試工具發(fā)送應(yīng)用關(guān)閉通知,以告知所述調(diào)試工具所述調(diào)試器即將關(guān)閉。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述調(diào)試器包括:
性能統(tǒng)計(jì)單元,用于:在執(zhí)行所述標(biāo)記代碼的過程中,統(tǒng)計(jì)所述標(biāo)記代碼的代碼語(yǔ)句行、任意相鄰兩個(gè)斷點(diǎn)之間的代碼語(yǔ)句行及各函數(shù)分別執(zhí)行的時(shí)間,并上報(bào)給所述調(diào)試工具。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述調(diào)試器包括:
日志上報(bào)單元,用于:向所述調(diào)試工具發(fā)送所述調(diào)試器當(dāng)前的日志數(shù)據(jù),以告知所述用戶所述調(diào)試器的運(yùn)行狀態(tài);
所述調(diào)試器及所述調(diào)試工具均包括:
設(shè)備信息發(fā)送單元,用于:向所述調(diào)試工具或所述調(diào)試器發(fā)送本設(shè)備的預(yù)設(shè)參數(shù)信息。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述調(diào)試工具包括:
展示界面,用于:展示加載得到的原代碼、所述原代碼中與執(zhí)行的標(biāo)記代碼當(dāng)前運(yùn)行位置對(duì)應(yīng)的位置及所述調(diào)試器返回的各項(xiàng)信息。
9.一種javascript代碼的調(diào)試控制方法,其特征在于,包括:
加載原代碼,為所述原代碼加入特定標(biāo)記得到標(biāo)記代碼,其中,所述原代碼為javascript代碼,所述特定標(biāo)記為調(diào)用調(diào)試器中對(duì)應(yīng)函數(shù)實(shí)現(xiàn)進(jìn)入函數(shù)、跳出函數(shù)或執(zhí)行代碼語(yǔ)句行的操作的函數(shù);
執(zhí)行所述標(biāo)記代碼,在執(zhí)行所述標(biāo)記代碼的過程中,在用戶基于所述原代碼實(shí)現(xiàn)的控制下生成對(duì)應(yīng)的調(diào)試指令,并基于所述調(diào)試指令通過控制與所述特定標(biāo)記對(duì)應(yīng)的函數(shù)控制所述標(biāo)記代碼的執(zhí)行;
執(zhí)行所述標(biāo)記代碼,在執(zhí)行所述標(biāo)記代碼的過程中,在用戶基于所述原代碼實(shí)現(xiàn)的控制下生成對(duì)應(yīng)的調(diào)試指令,并基于所述調(diào)試指令通過控制與所述特定標(biāo)記對(duì)應(yīng)的函數(shù)控制所述標(biāo)記代碼的執(zhí)行,包括:
跟蹤所述標(biāo)記代碼中的特定標(biāo)記,并基于跟蹤所得信息為所述標(biāo)記代碼維護(hù)包括表示函數(shù)調(diào)用關(guān)系的函數(shù)調(diào)用堆棧的堆棧數(shù)據(jù)結(jié)構(gòu),以支持所述調(diào)試器其他對(duì)應(yīng)功能的實(shí)現(xiàn);
跟蹤所述標(biāo)記代碼中的特定標(biāo)記,并基于跟蹤所得信息為所述標(biāo)記代碼維護(hù)包括表示函數(shù)調(diào)用關(guān)系的函數(shù)調(diào)用堆棧的堆棧數(shù)據(jù)結(jié)構(gòu),以支持所述調(diào)試器其他對(duì)應(yīng)功能的實(shí)現(xiàn),包括:
跟蹤帶有特定標(biāo)記的javascript代碼中的函數(shù)入口標(biāo)記、函數(shù)出口標(biāo)記及代碼語(yǔ)句行標(biāo)記,維護(hù)帶有特定標(biāo)記的javascript代碼執(zhí)行時(shí)的javascript函數(shù)調(diào)用關(guān)系,并依據(jù)帶特定標(biāo)記的javascript代碼中的特定標(biāo)記中的函數(shù)入口標(biāo)記和函數(shù)出口標(biāo)記,為正在執(zhí)行的帶特定標(biāo)記的javascript代碼維護(hù)運(yùn)行堆棧數(shù)據(jù)結(jié)構(gòu)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于艾普陽(yáng)科技(深圳)有限公司,未經(jīng)艾普陽(yáng)科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811644744.1/1.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),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種JavaScript文件的管理方法、裝置和系統(tǒng)
- 一種增強(qiáng)JavaScript函數(shù)封裝性的方法
- 網(wǎng)頁(yè)文本解析方法、裝置和移動(dòng)終端
- JavaScript庫(kù)的加載方法及裝置
- 一種JavaScript對(duì)象存儲(chǔ)、回收方法及裝置
- 一種移動(dòng)端頁(yè)面交互實(shí)現(xiàn)方法及裝置
- 數(shù)據(jù)交互方法及裝置
- 內(nèi)存釋放方法及裝置
- 一種JavaScript源代碼保密方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 三維引擎結(jié)合腳本引擎實(shí)現(xiàn)運(yùn)行的方法、設(shè)備及介質(zhì)
- 遙控器代碼格式結(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)
- 調(diào)試系統(tǒng)、調(diào)試方法和調(diào)試控制方法
- 一種終端調(diào)試方法和裝置
- 設(shè)備自動(dòng)工程調(diào)試方法、裝置、系統(tǒng)和計(jì)算機(jī)設(shè)備
- 基于串口的遠(yuǎn)程設(shè)備調(diào)試系統(tǒng)及方法
- 一種安卓系統(tǒng)動(dòng)態(tài)調(diào)試的方法及系統(tǒng)
- 調(diào)試裝置和遠(yuǎn)程調(diào)試系統(tǒng)
- 一種調(diào)試方法、裝置及系統(tǒng)
- 一種應(yīng)用程序開發(fā)的調(diào)試系統(tǒng)及方法
- 樓宇設(shè)備的異地調(diào)試控制方法、裝置和計(jì)算機(jī)設(shè)備
- 一種芯片調(diào)試系統(tǒng)及芯片調(diào)試方法





