[發(fā)明專利]函數(shù)調用棧回溯、程序異常處理方法、裝置、設備及介質有效
| 申請?zhí)枺?/td> | 202110736647.0 | 申請日: | 2021-06-29 |
| 公開(公告)號: | CN113342431B | 公開(公告)日: | 2023-02-07 |
| 發(fā)明(設計)人: | 趙欣;張琰;伍曉宇;黃家輝 | 申請(專利權)人: | 蘇州科達科技股份有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448;G06F11/07 |
| 代理公司: | 上海隆天律師事務所 31282 | 代理人: | 潘一諾 |
| 地址: | 215011 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數(shù) 調用 回溯 程序 異常 處理 方法 裝置 設備 介質 | ||
1.一種函數(shù)調用棧回溯方法,其特征在于,包括:
獲取程序異常時的異常棧數(shù)據(jù)段;
自所述異常棧數(shù)據(jù)段,依次提取數(shù)據(jù),并對每一數(shù)據(jù)執(zhí)行:
判斷該數(shù)據(jù)是否為地址信息;
若是,則根據(jù)該數(shù)據(jù)以及一函數(shù)映射表,查找所述地址信息對應的函數(shù)名;
按所述數(shù)據(jù)的提取順序以及所查找的函數(shù)名,回溯獲得第一函數(shù)調用順序;
至少根據(jù)所述第一函數(shù)調用順序,獲得函數(shù)調用棧。
2.如權利要求1所述的函數(shù)調用棧回溯方法,其特征在于,所述判斷該數(shù)據(jù)是否為地址信息包括:
判斷所述數(shù)據(jù)是否落入進程空間的代碼段地址空間;
若是,則所述數(shù)據(jù)為地址信息;
若否,則所述數(shù)據(jù)不是地址信息。
3.如權利要求1所述的函數(shù)調用棧回溯方法,其特征在于,所述根據(jù)所述第一函數(shù)調用順序,獲得函數(shù)調用棧之前,還包括:
利用處理器的函數(shù)調用規(guī)范調用函數(shù)調用棧的棧幀依次回溯獲得第二函數(shù)調用順序,
其中,所述函數(shù)調用棧根據(jù)所述第一函數(shù)調用順序以及所述第二函數(shù)調用順序獲得。
4.如權利要求1所述的函數(shù)調用棧回溯方法,其特征在于,所述根據(jù)所述第一函數(shù)調用順序,獲得函數(shù)調用棧之前,還包括:
利用編譯程序的函數(shù)調用算法自當前函數(shù)依次回溯獲得第三函數(shù)調用順序,
其中,所述函數(shù)調用棧根據(jù)所述第一函數(shù)調用順序以及所述第三函數(shù)調用順序獲得。
5.如權利要求4所述的函數(shù)調用棧回溯方法,其特征在于,所述利用編譯程序的函數(shù)調用算法自當前函數(shù)依次回溯獲得第三函數(shù)調用順序包括:
函數(shù)調用算法獲取步驟:根據(jù)當前函數(shù)的函數(shù)名,獲取當前函數(shù)的函數(shù)調用算法;
調用函數(shù)確定步驟:根據(jù)當前函數(shù)的函數(shù)調用算法以及當前函數(shù)的地址信息,確定調用當前函數(shù)的調用函數(shù);
當前函數(shù)賦值步驟:將所述調用函數(shù)作為當前函數(shù);
迭代執(zhí)行所述函數(shù)調用算法獲取步驟、所述調用函數(shù)確定步驟以及所述當前函數(shù)賦值步驟,獲得所述第三函數(shù)調用順序。
6.如權利要求1至5任一項所述的函數(shù)調用棧回溯方法,其特征在于,所述函數(shù)調用棧回溯方法集成在程序中,以當所述程序異常時自動執(zhí)行所述函數(shù)調用棧回溯方法。
7.一種程序異常處理方法,其特征在于,包括:
捕獲程序的異常信號;
執(zhí)行如權利要求1至6任一項所述的函數(shù)調用棧回溯方法,以獲取所述函數(shù)調用棧;
根據(jù)所述函數(shù)調用棧進行程序異常檢測。
8.一種函數(shù)調用棧回溯裝置,其特征在于,包括:
第一獲取模塊,配置成獲取程序異常時的異常棧數(shù)據(jù)段;
提取模塊,配置成自所述異常棧數(shù)據(jù)段,依次提取數(shù)據(jù):
判斷模塊,配置成判斷各數(shù)據(jù)是否為地址信息;
函數(shù)查找模塊,配置成若所述判斷模塊判斷為是,則根據(jù)該數(shù)據(jù)以及一函數(shù)映射表,查找所述地址信息對應的函數(shù)名;
回溯模塊,配置成按所述數(shù)據(jù)的提取順序以及所查找的函數(shù)名,回溯獲得第一函數(shù)調用順序;
第二獲取模塊,配置成至少根據(jù)所述第一函數(shù)調用順序,獲得函數(shù)調用棧。
9.一種電子設備,其特征在于,所述電子設備包括:
處理器;
存儲器,其上存儲有計算機程序,所述計算機程序被所述處理器運行時執(zhí)行:
如權利要求1至6任一項所述的函數(shù)調用棧回溯方法;和/或
如權利要求7所述的程序異常處理方法。
10.一種存儲介質,其特征在于,所述存儲介質上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行:
如權利要求1至6任一項所述的函數(shù)調用棧回溯方法;和/或
如權利要求7所述的程序異常處理方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州科達科技股份有限公司,未經(jīng)蘇州科達科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110736647.0/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種組合式智能印刷機
- 下一篇:一種隧道用玻璃鋼復合門





