[發明專利]函數調用信息的獲取方法及裝置、測試設備有效
| 申請號: | 201610825962.X | 申請日: | 2016-09-14 |
| 公開(公告)號: | CN106649084B | 公開(公告)日: | 2019-05-24 |
| 發明(設計)人: | 黃柳優;李源純;姜潤知;王鵬;魏學峰 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 董文倩;褚敏 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數 調用 信息 獲取 方法 裝置 測試 設備 | ||
本發明公開了一種函數調用信息的獲取方法及裝置、測試設備。其中,該方法包括:在運行待測試的程序的過程中,對程序中待調用的托管函數進行編譯,得到非托管函數,對非托管函數進行鉤子hook操作,得到第一函數調用信息,根據第一函數調用信息和托管函數的函數名生成第二函數調用信息,輸出得到的第二函數調用信息,其中,非托管函數被允許直接運行在CPU上,hook操作用于監控非托管函數在運行時的參數和返回值,第一函數調用信息至少包括:函數進入時間、函數退出時間,函數返回值,第二函數調用信息中包括具有對應關系的托管函數的函數名、函數進入時間、函數退出時間,函數返回值。本發明解決了相關技術偶現的crash的技術問題。
技術領域
本發明涉及通信領域,具體而言,涉及一種函數調用信息的獲取方法及裝置、測試設備。
背景技術
相關技術中提供了一種可以記錄托管代碼函數的調用情況的技術方案,利用Mono提供的Profiler(可以理解為是一種分析工具)功能,該功能可以利用Mono提供的mono_profiler_install_enter_leave接口注冊兩個函數,這兩個注冊過的回調函數分別會在托管代碼里的函數進入和退出的時候被調用,Mono會給這兩個回調函數提供一個自定義的數據結構,用來存儲可能需要的數據,還會提供一個參數,通過該參數可以獲取本次托管代碼調用了哪個函數。接口注冊好了以后再用Mono提供的mono_profiler_set_events接口設置MONO_PROFILER_ENTER_LEAVE事件,至此,托管代碼中運行的所有函數只要一被執行就會調用注冊過的兩個回調函數。
在實際項目中,發明人發現使用上述技術方案去記錄托管代碼函數的調用情況,會發生偶現的crash崩潰現象,直接導致了現有的技術方案不能應用在一些復雜項目中。
針對上述的問題,目前尚未提出有效的解決方案。
發明內容
本發明實施例提供了一種函數調用信息的獲取方法及裝置、測試設備,以至少解決相關技術中采用mono提供的分析工具獲取托管函數的調用情況的技術方案,偶現crash現象的技術問題。
根據本發明實施例的一個方面,提供了一種函數調用信息的獲取方法,包括:
在運行待測試的程序的過程中,對所述程序中待調用的托管函數進行編譯,得到非托管函數,其中,所述非托管函數被允許直接運行在中央處理器CPU上;對所述非托管函數進行鉤子hook操作,得到第一函數調用信息,其中,所述hook操作用于監控所述非托管函數在運行時的參數和返回值,所述第一函數調用信息至少包括:函數進入時間、函數退出時間,函數返回值;根據所述第一函數調用信息和所述托管函數的函數名生成第二函數調用信息,其中,所述第二函數調用信息中包括具有對應關系的所述托管函數的函數名、函數進入時間、函數退出時間,函數返回值;輸出所述第二函數調用信息。
根據本發明的另一個方面,還提供了一種函數調用信息的獲取裝置,包括:
編譯單元,用于在運行待測試的程序的過程中,對所述程序中待調用的托管函數進行編譯;第一確定單元,用于對所述托管函數編譯后得到非托管函數,其中,所述非托管函數被允許直接運行在中央處理器CPU上;第二確定單元,用于對所述非托管函數進行鉤子hook操作,得到第一函數調用信息,其中,所述hook操作用于監控所述非托管函數在運行時的參數和返回值,所述第一函數調用信息至少包括:函數進入時間、函數退出時間,函數返回值;生成單元,用于根據所述第一函數調用信息和所述托管函數的函數名生成第二函數調用信息,其中,所述第二函數調用信息中包括具有對應關系的所述托管函數的函數名、函數進入時間、函數退出時間,函數返回值;輸出單元,用于輸出所述第二函數調用信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610825962.X/2.html,轉載請聲明來源鉆瓜專利網。
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置





