[發明專利]程序檢測方法和系統在審
| 申請號: | 201810356737.5 | 申請日: | 2018-04-19 |
| 公開(公告)號: | CN110389888A | 公開(公告)日: | 2019-10-29 |
| 發明(設計)人: | 段云飛 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 呂雁葭 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 檢測 程序檢測 運行狀態數據 程序獲取 | ||
1.一種程序檢測方法,包括:
運行特定程序,其中,所述特定程序中包括檢測程序以及被檢測程序;以及
在運行所述特定程序的過程中,自動通過檢測程序獲取所述被檢測程序的運行狀態數據。
2.根據權利要求1所述的方法,還包括:
通過注解數據獲取待編譯檢測程序;
將所述待編譯檢測程序編譯到所述特定程序中,使得所述特定程序包括所述檢測程序。
3.根據權利要求2所述的方法,其中:
所述待編譯檢測程序包括多個待編譯程序片段;
所述將所述待編譯檢測程序編譯到所述特定程序中,包括:根據所述注解數據,將所述多個待編譯程序片段分別編譯到所述特定程序的特定位置。
4.根據權利要求1所述的方法,其中:
運行特定程序包括通過注解數據調用所述檢測程序。
5.根據權利要求1所述的方法,其中:
所述運行特定程序包括通過第一線程運行所述特定程序;
所述通過檢測程序獲取所述被檢測程序的運行狀態數據包括:通過所述檢測程序啟用第二線程獲取所述被檢測程序的運行狀態數據。
6.根據權利要求5所述的方法,其中:
所述檢測程序包括第一程序片段和第二程序片段,其中,所述第一程序片段用于啟用所述第二線程,所述第二程序片段用于關閉所述第二線程,所述第一程序片段在所述被檢測程序運行之前運行,所述第二程序片段在所述被檢測程序運行之后運行。
7.根據權利要求1所述的方法,其中,所述在運行所述特定程序的過程中,自動通過檢測程序獲取所述被檢測程序的運行狀態數據,包括:
在運行所述特定程序的過程中,自動通過檢測程序獲取被檢測程序在運行過程中的堆棧信息;
基于所述堆棧信息,確定所述被檢測程序的運行狀態數據。
8.根據權利要求7所述的方法,其中:
所述被檢測程序的運行狀態數據包括所述被檢測程序的運行時間數據;
所述通過檢測程序獲取被檢測程序在運行過程中的堆棧信息,包括:每隔預設時間間隔,獲取所述被檢測程序在運行過程中的堆棧信息,得到至少一個堆棧信息;
所述基于所述堆棧信息,確定所述被檢測程序的運行狀態數據,包括:基于所述至少一個堆棧信息以及所述預設時間間隔,確定所述被檢測程序的運行時間數據。
9.根據權利要求7所述的方法,還包括:
根據所述堆棧信息,判斷所述被檢測程序的運行狀態數據是否滿足第一預設條件。
10.根據權利要求9所述的方法,其中:
所述被檢測程序包括多個函數;
所述方法還包括:
在所述被檢測程序的運行狀態數據不滿足第一預設條件的情況下,獲取所述多個函數中的每個函數對應的堆棧信息;
根據所述每個函數對應的堆棧信息,判斷所述多個函數的運行狀態數據是否滿足第二預設條件。
11.根據權利要求10所述的方法,還包括:
在所述多個函數中的第一函數的運行狀態數據不滿足第二預設條件的情況下,確定所述第一函數是否包含多個在運行過程中不相鄰的函數片段;
在所述第一函數包含多個在運行過程中不相鄰的函數片段的情況下,獲取多個函數片段的每個函數片段對應的堆棧信息;
根據所述每個函數片段對應的堆棧信息,判斷所述多個函數片段的運行狀態數據是否滿足第三預設條件。
12.根據權利要求9~11中任一項所述的方法,還包括:
響應于運行狀態數據不滿足預設條件,生成反饋數據,其中,所述運行狀態數據不滿足預設條件包括所述被檢測程序的運行狀態數據不滿足所述第一預設條件,或者所述多個函數的運行狀態數據不滿足所述第二預設條件,或者所述多個函數片段的運行狀態數據不滿足所述第三預設條件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810356737.5/1.html,轉載請聲明來源鉆瓜專利網。





