[發明專利]用于檢測應用程序的方法和裝置有效
| 申請號: | 201910248655.3 | 申請日: | 2019-03-29 |
| 公開(公告)號: | CN109960659B | 公開(公告)日: | 2022-11-01 |
| 發明(設計)人: | 尹健剛;李明德;宋曄 | 申請(專利權)人: | 阿波羅智聯(北京)科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/30;G06F9/54 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司 11204 | 代理人: | 王達佐;馬曉亞 |
| 地址: | 100176 北京市大興區北京經*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 檢測 應用程序 方法 裝置 | ||
1.一種用于檢測應用程序的方法,所述方法包括:
執行阻塞檢測步驟:由子線程獲取或創建消息,將所述消息的預設屬性設定為預設標識的名稱,記錄預設標識的名稱和值,向主線程發送具有所述預設標識的名稱的消息,其中,所述子線程在應用程序運行時由所述主線程創建并開啟,所述預設標識的值能被所述主線程修改;間隔預設時長后確定所述預設標識的值是否改變;若未改變,確定所述主線程阻塞;
所述主線程被配置成:響應于確定具有所述預設標識的名稱的消息從所述主線程的消息隊列中被取出,將所述預設標識的值改變成與所述子線程記錄的值不同的值;
其中,所述方法還包括:
若所述預設標識的值已改變,確定所述主線程未阻塞,再次執行所述阻塞檢測步驟。
2.根據權利要求1所述的方法,其中,所述方法還包括:
若所述預設標識的值未改變,獲取所述主線程的堆棧信息,以及將所述堆棧信息上傳到服務器。
3.根據權利要求1所述的方法,其中,所述向主線程發送具有所述預設標識的名稱的消息,包括:
調用在所述主線程中創建的消息傳遞對象發送具有所述預設標識的名稱的消息,其中,所述消息傳遞對象用于將發送的消息壓入所述主線程的消息隊列中。
4.根據權利要求1-3之一所述的方法,其中,所述間隔預設時長后確定所述預設標識的值是否改變,包括:
休眠預設時長;
確定所述預設標識的值是否改變。
5.一種用于檢測應用程序的裝置,所述裝置包括:
阻塞檢測單元,被配置成執行阻塞檢測步驟:由子線程獲取或創建消息,將所述消息的預設屬性設定為預設標識的名稱,記錄預設標識的名稱和值,向主線程發送具有所述預設標識的名稱的消息,其中,所述子線程在應用程序運行時由所述主線程創建并開啟,所述預設標識的值能被所述主線程修改;間隔預設時長后確定所述預設標識的值是否改變;若未改變,確定所述主線程阻塞;
所述主線程被配置成:響應于確定具有所述預設標識的名稱的消息從所述主線程的消息隊列中被取出,將所述預設標識的值改變成與所述子線程記錄的值不同的值;
其中,所述裝置還包括:
再次執行單元,被配置成若所述預設標識的值已改變,確定所述主線程未阻塞,再次執行所述阻塞檢測步驟。
6.根據權利要求5所述的裝置,其中,所述裝置還包括:
上報單元,被配置成若所述預設標識的值未改變,獲取所述主線程的堆棧信息,以及將所述堆棧信息上傳到服務器。
7.一種電子設備,包括:
一個或多個處理器;
存儲裝置,其上存儲有一個或多個程序;
當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如權利要求1-4中任一所述的方法。
8.一種計算機可讀介質,其上存儲有計算機程序,其特征在于,該程序被處理器執行時實現如權利要求1-4中任一所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿波羅智聯(北京)科技有限公司,未經阿波羅智聯(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910248655.3/1.html,轉載請聲明來源鉆瓜專利網。





