[發明專利]一種堆棧狀態檢測方法、裝置、設備及存儲介質有效
| 申請號: | 202210039845.6 | 申請日: | 2022-01-14 |
| 公開(公告)號: | CN114048465B | 公開(公告)日: | 2022-05-06 |
| 發明(設計)人: | 費衛宏;李瑞東;鐘戟 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 魯梅 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 堆棧 狀態 檢測 方法 裝置 設備 存儲 介質 | ||
1.一種堆棧狀態檢測方法,其特征在于,應用于裸機系統,包括:
確定目標堆棧的存儲位置,并在所述目標堆棧的預設位置上分配預設大小的內存空間;
將初始預設值寫入至所述內存空間,并對所述內存空間中的所述初始預設值進行直接讀取,以得到相應的第一回讀值;
判斷所述第一回讀值與所述初始預設值是否一致,若一致,則通過預設檢測接口回讀所述初始預設值,以得到相應的第二回讀值;
判斷所述第二回讀值與所述初始預設值是否一致,如果一致,則判定所述目標堆棧狀態處于非異常狀態并執行接口退出操作,如果不一致,則判定所述目標堆棧狀態處于異常狀態并執行程序斷言操作;
其中,所述通過預設檢測接口回讀所述初始預設值,以得到相應的第二回讀值之前,還包括:
創建與所述目標堆棧狀態檢測對應的入口函數,并將所述入口函數加入主函數的主循環中,以得到與所述入口函數對應的所述預設檢測接口。
2.根據權利要求1所述的堆棧狀態檢測方法,其特征在于,所述在所述目標堆棧的預設位置上分配預設大小的內存空間,包括:
在所述目標堆棧的棧底和棧頂分別配置預設大小的內存空間,以得到所述棧底對應的第一內存空間和所述棧頂對應的第二內存空間;
相應的,所述將初始預設值寫入至所述內存空間,包括:
將第一初始預設值和第二初始預設值分別寫入所述棧底對應的所述第一內存空間和所述棧頂對應的所述第二內存空間。
3.根據權利要求2所述的堆棧狀態檢測方法,其特征在于,所述對所述內存空間中的所述初始預設值進行直接讀取,以得到相應的第一回讀值,包括:
對所述第一內存空間中的所述第一初始預設值進行直接讀取,以得到第一內存回讀值;
對所述第二內存空間中的所述第二初始預設值進行直接讀取,以得到第二內存回讀值;
相應的,所述判斷所述第一回讀值與所述初始預設值是否一致,包括:
判斷所述第一內存回讀值和所述第二內存回讀值與所述第一初始預設值和所述第二初始預設值是否一致。
4.根據權利要求2所述的堆棧狀態檢測方法,其特征在于,所述通過預設檢測接口回讀所述初始預設值,以得到相應的第二回讀值,包括:
通過預設檢測接口回讀所述第二內存空間中的所述第二初始預設值,以得到與所述棧頂對應的第二目標回讀值;
相應的,所述判斷所述第二回讀值與所述初始預設值是否一致,包括:
判斷所述第二目標回讀值與所述第二初始預設值是否一致。
5.根據權利要求1所述的堆棧狀態檢測方法,其特征在于,所述判斷所述第一回讀值與所述初始預設值是否一致之后,還包括:
若所述第一回讀值與所述初始預設值不一致,則重新將所述初始預設值寫入至所述內存空間。
6.根據權利要求1至5任一項所述的堆棧狀態檢測方法,其特征在于,所述如果所述第二回讀值與所述初始預設值不一致,則判定所述目標堆棧狀態處于異常狀態并執行程序斷言操作之后,還包括:
對所述第二回讀值和當前的所述目標堆棧對應的堆棧信息進行打印,以得到相應的打印信息,并基于所述打印信息對所述目標堆棧進行適當地調整。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210039845.6/1.html,轉載請聲明來源鉆瓜專利網。





