[發(fā)明專利]獲取日志的方法及裝置、存儲介質(zhì)、電子裝置在審
| 申請?zhí)枺?/td> | 201811076537.0 | 申請日: | 2018-09-14 |
| 公開(公告)號: | CN109376074A | 公開(公告)日: | 2019-02-22 |
| 發(fā)明(設(shè)計)人: | 錢毅 | 申請(專利權(quán))人: | 浙江口碑網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/901;G06F16/9032 |
| 代理公司: | 北京中強(qiáng)智尚知識產(chǎn)權(quán)代理有限公司 11448 | 代理人: | 黃耀威 |
| 地址: | 310012 浙江省杭州市西*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 源輸出 目標(biāo)輸出 日志信息 存儲介質(zhì) 電子裝置 應(yīng)用程序 日志 應(yīng)用程序調(diào)用 函數(shù)獲取 函數(shù)替換 調(diào)取 跳轉(zhuǎn) 打印 | ||
本發(fā)明提供了一種獲取日志的方法及裝置、存儲介質(zhì)、電子裝置,其中,該方法包括:在啟動應(yīng)用程序后,將所述應(yīng)用程序的源輸出函數(shù)替換成目標(biāo)輸出函數(shù),其中,所述源輸出函數(shù)是用于打印日志信息的c函數(shù),所述目標(biāo)輸出函數(shù)是hook所述源輸出函數(shù)的c方法;在所述應(yīng)用程序調(diào)用所述源輸出函數(shù)時,從所述源輸出函數(shù)跳轉(zhuǎn)到所述目標(biāo)輸出函數(shù);使用所述目標(biāo)輸出函數(shù)獲取日志信息。通過本發(fā)明,解決了相關(guān)技術(shù)中調(diào)取日志信息效率低的技術(shù)問題。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)領(lǐng)域,具體而言,涉及一種獲取日志的方法及裝置、存儲介質(zhì)、電子裝置。
背景技術(shù)
日志信息(log)是測試和調(diào)試應(yīng)用程序過程中常用的文件,可以用于發(fā)現(xiàn)和定位問題,如,在iOS開發(fā)或測試過程中,需要去看自定義的調(diào)試信息或者系統(tǒng)log來輔助調(diào)式和定位相關(guān)問題。
相關(guān)技術(shù)中,是通過用Xcode下的console log窗口臺來展示NSLog打印的內(nèi)容,其缺點(diǎn)是要必須連接電腦,需要安裝Xcode來展示,如果離開了電腦,離開了Xcode就不能獲得運(yùn)行時的log,不便捷,效率低,時效性要求高。相關(guān)技術(shù)中的另一種方案是蘋果公司已經(jīng)提供了讀取Log的ALS api,可以通過asl_search并設(shè)置參數(shù)來查詢log文件,如公開號為CN105204789B的申請文件,公開了一種使用API調(diào)試日志打印的方法,相關(guān)技術(shù)的問題是asl_search接口在iOS 10.0后已廢棄,在iOS 10.0后調(diào)用返回的結(jié)果為空,導(dǎo)致無法調(diào)取iOS10.0之后的系統(tǒng)的日志。
針對相關(guān)技術(shù)中存在的上述問題,目前尚未發(fā)現(xiàn)有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種獲取日志的方法及裝置、存儲介質(zhì)、電子裝置。
根據(jù)本發(fā)明的一個實(shí)施例,提供了一種獲取日志的方法,包括:在啟動應(yīng)用程序后,將所述應(yīng)用程序的源輸出函數(shù)替換成目標(biāo)輸出函數(shù),其中,所述源輸出函數(shù)是用于打印日志信息的c函數(shù),所述目標(biāo)輸出函數(shù)是hook所述源輸出函數(shù)的c方法;在所述應(yīng)用程序調(diào)用所述源輸出函數(shù)時,從所述源輸出函數(shù)跳轉(zhuǎn)到所述目標(biāo)輸出函數(shù);使用所述目標(biāo)輸出函數(shù)獲取日志信息。
可選的,在使用所述目標(biāo)輸出函數(shù)獲取日志信息之后,所述方法還包括:在所述應(yīng)用程序的頁面上展示所述日志信息。
可選的,將所述應(yīng)用程序的源輸出函數(shù)替換成目標(biāo)輸出函數(shù)包括:使用fishhook工具將所述應(yīng)用程序的源NSLog()函數(shù)替換成目標(biāo)NSLog()函數(shù),其中,所述源輸出函數(shù)包括所述源NSLog()函數(shù),所述目標(biāo)輸出函數(shù)包括所述目標(biāo)NSLog()函數(shù)。
可選的,使用fishhook工具將所述應(yīng)用程序的源NSLog()函數(shù)替換成目標(biāo)NSLog()函數(shù)包括:修改所述源NSLog()函數(shù)的函數(shù)指針,將所述函數(shù)指針指向到所述目標(biāo)NSLog()函數(shù)。
可選的,從所述源輸出函數(shù)跳轉(zhuǎn)到所述目標(biāo)輸出函數(shù)包括:從間接地址表獲取符號表索引;通過所述符號表索引得到所述源輸出函數(shù)對應(yīng)的符號表表項(xiàng);通過所述符號表表項(xiàng)查找所述源輸出函數(shù)的函數(shù)名在字符串表的字符串表索引;通過所述字符串表和所述字符串表索引查找所述目標(biāo)輸出函數(shù)的函數(shù)名;在所述源輸出函數(shù)的函數(shù)名和所述目標(biāo)輸出函數(shù)的函數(shù)名匹配時,將所述源輸出函數(shù)的函數(shù)表項(xiàng)目替換為所述目標(biāo)輸出函數(shù)的函數(shù)表項(xiàng)目。
可選的,使用所述目標(biāo)輸出函數(shù)獲取日志信息包括:使用所述c方法打印所述應(yīng)用程序的日志信息;在所述c方法內(nèi)獲取所述日志信息。
可選的,在所述應(yīng)用程序的頁面上展示所述日志信息包括:在所述應(yīng)用程序的debug頁面上展示所述日志信息。
可選的,在所述應(yīng)用程序的頁面上展示所述日志信息之后,所述方法包括:在所述應(yīng)用程序的LogView中接收關(guān)鍵字;以所述關(guān)鍵字為條目過濾所述日志信息,并在所述LogView上展示過濾后的日志信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江口碑網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)浙江口碑網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811076537.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 用于接合與分離存儲介質(zhì)的裝置
- 存儲介質(zhì)陣列控制器、控制方法、設(shè)備、和存儲介質(zhì)驅(qū)動器
- 存儲介質(zhì)處理方法、系統(tǒng)及數(shù)據(jù)讀寫操作方法、系統(tǒng)
- 存儲裝置、存儲介質(zhì)以及存儲介質(zhì)的制造方法
- 數(shù)據(jù)存儲
- 存儲介質(zhì)之間的數(shù)據(jù)遷移
- 一種基于存儲系統(tǒng)的控制方法及裝置
- 自助設(shè)備及自助設(shè)備的介質(zhì)存儲裝置
- 融合存儲系統(tǒng)中的數(shù)據(jù)遷移方法和裝置
- 一種數(shù)據(jù)存儲方法、裝置及電子設(shè)備





