CN109947476A - 一种运行时栈空间的统计方法及系统 - Google Patents
一种运行时栈空间的统计方法及系统 Download PDFInfo
- Publication number
- CN109947476A CN109947476A CN201910137270.XA CN201910137270A CN109947476A CN 109947476 A CN109947476 A CN 109947476A CN 201910137270 A CN201910137270 A CN 201910137270A CN 109947476 A CN109947476 A CN 109947476A
- Authority
- CN
- China
- Prior art keywords
- stack
- address
- smart card
- particular value
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明的技术方案包括一种运行时栈空间的统计方法及系统,用于实现:设置地址范围以及填充和查找特征值,通过虚拟模块生成APDU命令并发送给智能卡用于执行,智能卡根据检测命令内容,从栈底到栈顶进行查找特定值,查找到与步骤S300填充的特定值的不同的数据以及对应的地址,得到智能卡的最大修改空间以及特定值的使用情况。本发明的有益效果为:可以自动高效的精确统计智能卡运行过程中的栈使用情况,最小可以统计到某一条命令的使用情况。进一步就能得到卡内某个功能模块运行时所需要的最大栈空间,再进一步可以得到智能卡上软件运行时所需最大栈空间。从统计结果中找到栈空间使用最大的APDU命令,为代码优化提供依据。
Description
技术领域
本发明涉及一种运行时栈空间的统计方法及系统,属于信息技术领域。
背景技术
智能卡等智能芯片是一种具有运算逻辑、存储区域和通讯接口的安全硬件,其上有软件运行用于实现特定的功能,类似于简化版的计算机。智能卡上运行的软件一般由汇编语言、C 语言、JAVA语言等编写实现,根据业务逻辑的复杂程度不同,软件需要拆分成不同的模块,最基本的结构是由一系列计算机语言函数组成。而函数的运行一般需要“运行时栈”,用于保存函数执行的信息以及函数返回信息。
由于栈空间保存的是函数运行中局部变量、参数传递、返回值等数据,这导致栈空间的增长是随着函数调用层级的增加而增长。栈的最大使用空间比较难以确定。虽然有些编译器可以通过语法分析统计得到“函数调用树”每一个分支的栈空间使用情况,但是在C语言中由于可能出现函数指针的使用,也就是说函数调用的路径是被业务逻辑动态控制的,这种情况下编译器可能会漏掉一些调用路径,导致并不能准确统计栈空间的最大使用大小。当然我们也可以通过经验大概估计一个软件系统的栈空间的最大使用值,然后尽量分配较大的空间以防止溢出,但是对于嵌入式设备、单片机等资源非常有限,需要尽可能的利用芯片资源,减少空间的浪费。
发明内容
为解决上述问题,本发明的目的在于提供一种运行时栈空间的统计方法及系统,设置地址范围以及填充和查找特征值,通过虚拟模块生成APDU命令并发送给智能卡用于执行,智能卡根据检测命令内容,从栈底到栈顶进行查找特定值,查找到与步骤S300填充的特定值的不同的数据以及对应的地址,得到智能卡的最大修改空间以及特定值的使用情况。
本发明解决其问题所采用的技术方案一方面是:一种运行时栈空间的统计方法,其特征在于,包括:S100、在一定地址范围内设置要填充和查找的特定值,其中一定地址范围和特定值可自定义;S200、根据步骤S100的设置,生成APDU检测命令并发送给智能卡;S300、智能卡根据检测命令内容,在S100所指定的范围内进行填充特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;S400、向智能卡发送正常的业务逻辑命令序列,根据业务逻辑命令序列,修改栈空间的数据信息;S500、智能卡根据检测命令内容,在S100 所指定的范围内查找特定值,查找到与步骤S300填充的特定值的不同的数据以及对应的地址,得到智能卡的最大修改空间以及特定值的使用情况。
进一步的,所述S100包括:S110、根据栈空间的大小,得到栈底到栈顶之间的距离;S120、通过固定的栈底地址,根据栈底与栈顶之间的距离,得到栈顶的地址;S130、将地址范围设置为栈底地址到栈顶地址并设置一特定值用于后续的填充和查找。
进一步的,所述S120包括:S121、将S120得到的栈顶地址进行范围处理,设置一个浮动值;S122、根据浮动值设置精确的地址范围,用于替换S100中的一定地址范围,其中地址范围包括开始地址和结束地址。
进一步的,所述S200包括:S201、栈统计模块根据步骤S100的设置,拼装用于栈检测的APDU命令;S202、APDU命令分为填充命令和查找命令,命令包括填充或查找的特定值、起始地址以及终止地址。
进一步的,所述S300包括:S301、发送填充指令到智能卡,智能卡执行填充指令,将起始地址和终止地址之间的区域都填充为特定值。
进一步的,所述S500包括:S501、发送查找令到智能卡,智能卡执行遍历检查指令,检查起始地址和终止地址之间中第一个地址内容为非特定值的地址,根据该地址即可得到栈空间最大修改空间。
本发明解决其问题所采用的技术方案另一方面是:一种运行时栈空间的统计系统,其特征在于,包括:设置模块,用于在一定地址范围内设置要填充和查找的特定值,其中一定地址范围和特定值可自定义;栈统计模块,用于根据设置模块的设置拼装APDU检测命令并发送给智能卡;发送模块,用于向智能卡发送正常的业务逻辑命令序列;编辑模块,用于智能卡根据检测命令内容,从栈顶到栈底进行填充或查找特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;修改模块,用于根据业务逻辑命令序列,修改栈空间的数据信息。
进一步的,所述编辑模块包括:填充模块,用于智能卡根据检测命令内容,在指定范围内进行填充特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;查找模块,用于智能卡根据检测命令内容,在指定范围内进行遍历查找特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址。
进一步的,所述设置模块包括:距离计算模块,用于根据栈空间的大小,得到栈底到栈顶之间的距离;栈顶地址定位模块,用于通过固定的栈底地址,根据栈底与栈顶之间的距离,得到栈顶的地址;范围设置模块,用于将地址范围设置为栈底地址到栈顶地址并设置一特定值用于后续的填充和查找。
进一步的,所述栈统计模块包括:填充指令生成模块,用于生成使智能卡在指定范围内填充指定特定值的APDU命令;查找指令生成模块,用于生成使智能卡在指定范围内遍历查找指定特定值的APDU命令。
本发明的有益效果是:可以自动高效的精确统计智能卡运行过程中的栈使用情况,最小可以统计到某一条命令的使用情况。进一步就能得到卡内某个功能模块运行时所需要的最大栈空间,再进一步可以得到智能卡上软件运行时所需最大栈空间。我们也可以从统计结果中找到栈空间使用最大的APDU命令,为代码优化提供依据。
附图说明
图1所示为本发明优选实施例的方法流程示意图;
图2所示为本发明优选实施例的系统结构示意图;
图3所示为栈空间示意图;
图4所示为本发明优选实施例的智能卡及栈检测模块逻辑结构;
图5所示为本发明优选实施例的智能卡测试软件模块逻辑结构。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
参照图1所示为本发明优选实施例的方法流程示意图,
包括:S100、在一定地址范围内设置要填充和查找的特定值,其中一定地址范围和特定值可自定义;S200、根据步骤S100的设置,生成APDU检测命令并发送给智能卡;S300、智能卡根据检测命令内容,在S100所指定的范围内进行填充特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;S400、向智能卡发送正常的业务逻辑命令序列,根据业务逻辑命令序列,修改栈空间的数据信息;S500、智能卡根据检测命令内容,在S100所指定的范围内查找特定值,查找到与步骤S300填充的特定值的不同的数据以及对应的地址,得到智能卡的最大修改空间以及特定值的使用情况。
S100包括S110、根据栈空间的大小,得到栈底到栈顶之间的距离;S120、通过固定的栈底地址,根据栈底与栈顶之间的距离,得到栈顶的地址;S130、将地址范围设置为栈底地址到栈顶地址并设置一特定值用于后续的填充和查找。
S120包括:S121、将S120得到的栈顶地址进行范围处理,设置一个浮动值;S122、根据浮动值设置精确的地址范围,用于替换S100中的一定地址范围,其中地址范围包括开始地址和结束地址。
S200包括:S201、栈统计模块根据步骤S100的设置,拼装用于栈检测的APDU命令;S202、 APDU命令分为填充命令和查找命令,命令包括填充或查找的特定值、起始地址以及终止地址。
S300包括:S301、发送填充指令到智能卡,智能卡执行填充指令,将起始地址和终止地址之间的区域都填充为特定值。
S500包括:S501、发送查找令到智能卡,智能卡执行遍历检查指令,检查起始地址和终止地址之间中第一个地址内容为非特定值的地址,根据该地址即可得到栈空间最大修改空间。
参照图2所示为本发明优选实施例的系统结构示意图,
包括:设置模块,用于在一定地址范围内设置要填充和查找的特定值,其中一定地址范围和特定值可自定义;栈统计模块,用于根据设置模块的设置拼装APDU检测命令并发送给智能卡;发送模块,用于向智能卡发送正常的业务逻辑命令序列;编辑模块,用于智能卡根据检测命令内容,从栈顶到栈底进行填充或查找特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;修改模块,用于根据业务逻辑命令序列,修改栈空间的数据信息。
编辑模块包括:填充模块,用于智能卡根据检测命令内容,在指定范围内进行填充特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;查找模块,用于智能卡根据检测命令内容,在指定范围内进行遍历查找特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址。
设置模块包括:距离计算模块,用于根据栈空间的大小,得到栈底到栈顶之间的距离;栈顶地址定位模块,用于通过固定的栈底地址,根据栈底与栈顶之间的距离,得到栈顶的地址;范围设置模块,用于将地址范围设置为栈底地址到栈顶地址并设置一特定值用于后续的填充和查找。
栈统计模块包括:填充指令生成模块,用于生成使智能卡在指定范围内填充指定特定值的APDU命令;查找指令生成模块,用于生成使智能卡在指定范围内遍历查找指定特定值的 APDU命令。
参照图3所示为栈空间示意图,
名词解释
运行时栈(stack):计算机程序在运行过程中用于临时保存函数调用和返回时信息的数据结构。其数据特点是“先入后出”。通常栈的增长方向是由高地址向低地址。
栈底:栈空间使用时的起始地址。
栈顶:栈空间使用时增长方向的末地址。栈指针所指向的位置。
压栈:在栈顶追加一个新的数据,并且栈指针向着增长方向移动一个位置。
出栈:将栈顶的数据读取出来,并且栈指针向着栈增长的反方向移动一个位置。
溢出:栈空间使用超出了预定的大小。
函数调用树:函数之间的调用层次形成的树状结构。
改进的方法
第一、在智能卡内实现一个栈检测模块,该模块的功能是:
1、将给定的地址范围空间填充为某特定值,例如填充0xFF,0xAA等。
2、在给定的地址范围空间内按照特定顺序遍历查找一个位置,该位置是第一次出现某特定值的地址。例如查找值第一个为非0xFF的地址。
同时这两个功能可以通过智能卡的APDU命令来控制,例如:
1、对应第一个功能的APDU命令“APDU-A”:CLA-INS-P1-P2-Lc-START-END-VALUE。其中START表示起始地址,END表示结束地址,VALUE表示填充值。
2、对应第二个功能的APDU命令
“APDU-B”:CLA-INS-P1-P2-Lc-START-END-VALUE-Le-ADDR。其中START表示起始地址, END表示结束地址,VALUE表示期望值,返回数据ADDR表示地址。智能卡收到该命令之后从START开始按顺序查找,直到遇到第一个非VALUE的位置ADDR。然后返回ADDR。
栈检测模块在智能卡的逻辑结构中所处位置参照图4所示为本发明优选实施例的智能卡及栈检测模块逻辑结构,从IO接口收到的APDU命令首先由该模块处理,当发现是上述定义的两条命令之一时进行处理,否则交给APDU派发模块进行正常的处理。两条APDU的CLA 经过特别的设计,保证跟卡上正常功能的APDU有所区别。这样该两条APDU可以在智能卡的任意状态下执行。
传统的填充方法固定为AA,但是实际用一种填充值有可能导致栈空间统计不准确,因为该方法的假设是软件代码在运行时不会出现AA值,这样只要检查为非AA的空间就是被软件代码使用到的空间,但是实际并不能排除AA值恰好就是软件运行中出现的正常值。所以填充模式需要用0xAA,0xFF,0xA5,0x00等结合使用才能较为精确地统计。
由于统计过程是先准备好自动化的测试过程,该测试过程是全面模拟用户使用的各种应用场景,包括对设备的复位动作。对于智能卡来说一旦复位,则内存中的数据可能都会丢失,导致最终检查内存填充值时完全错误。
第二、智能卡的测试软件结构调整:
通常情况下智能卡功能实现之后的测试方式是在电脑上开发测试脚本或者软件,该软件运行时可以按照测试流程的要求拼装相应的APDU命令序列,将APDU序列发送到被测试的智能卡,同时测试软件检查智能卡的相应情况,并判断是否正确。
参照图5所示为本发明优选实施例的智能卡测试软件模块逻辑结构,对该软件做调整,底层接口增加栈统计模块。该模块可以根据需要自动拼装上述的两条用于栈检测的APDU命令。对于上层测试逻辑代码来说,该模块是透明不可见的。
使用方法:为了准确统计智能卡各项功能对栈的使用情况,按照如下步骤:
1、首先根据经验粗略估计栈空间的大小,例如为1K字节。也就是说从栈底到栈顶的距离大概为1K字节。
2、由于栈底的地址是固定值,则根据第一步的估计值栈顶的地址也能大概确定。例如,假如栈底地址为0x1000,则栈顶大概是0x1000-0x400=0xC00。
3、根据第二部粗略确定的栈顶地址计算需要精确检测的范围“START”和“END”,例如上下浮动0.5K,则范围是0xC00-0x200=0xA00到0xC00+0x200=0xE00。即START=0XA00,END=0XE00。
4、该START和END作为栈检测APDU命令的参数,同时填充值VALUE可以取0xFF,0xAA等特殊值。
5、测试软件对智能卡进行测试,同时测试过程中栈统计模块根据上述信息自动拼装检测命令“APDU-A”和“APDU-B”发送到智能卡,而获得准确值。具体为:
1)首先发送APDU-A命令到智能卡,
智能卡执行之后从START到END之间的区域都被填充为0xFF或者0xAA等特定值。
2)发送正常的业务逻辑命令序列APDU-TESTED到智能卡,此处APDU-TESTED可以有一条或者多条命令,APDU-TESTED即被精确统计栈使用情况的命令序列。由于卡内代码的运行, START和END之间的数据会被修改,
3)发送APDU-B命令到智能卡,遍历检查START和END之间的数据,
从而得知APDU-TESTED在运行中修改的最大地址范围,即栈顶。
通过设计特别的“检测APDU”命令,可以对智能卡的每一条“功能APDU”都进行单独的统计,并且通过与电脑等测试设备配合,精确并完整的记录整个测试过程中的栈空间变化情况,而不是简单的只是获得最大值。同时也自然的避免了智能卡复位导致的栈空间数据丢失问题。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术- 包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/ 或实施方式可以有各种不同的修改和变化。
Claims (10)
1.一种运行时栈空间的统计方法,其特征在于,包括:
S100、在一定地址范围内设置要填充和查找的特定值,其中一定地址范围和特定值可自定义;
S200、根据步骤S100的设置,生成APDU检测命令并发送给智能卡;
S300、智能卡根据检测命令内容,在S100所指定的范围内进行填充特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;
S400、向智能卡发送正常的业务逻辑命令序列,根据业务逻辑命令序列,修改栈空间的数据信息;
S500、智能卡根据检测命令内容,在S100所指定的范围内查找特定值,查找到与步骤S300填充的特定值的不同的数据以及对应的地址,得到智能卡的最大修改空间以及特定值的使用情况。
2.根据权利要求1所述的时栈空间的统计方法,其特征在于,所述S100包括:
S110、根据栈空间的大小,得到栈底到栈顶之间的距离;
S120、通过固定的栈底地址,根据栈底与栈顶之间的距离,得到栈顶的地址;
S130、将地址范围设置为栈底地址到栈顶地址并设置一特定值用于后续的填充和查找。
3.根据权利要求2所述的时栈空间的统计方法,其特征在于,所述S120包括:
S121、将S120得到的栈顶地址进行范围处理,设置一个浮动值;
S122、根据浮动值设置精确的地址范围,用于替换S100中的一定地址范围,其中地址范围包括开始地址和结束地址。
4.根据权利要求1所述的时栈空间的统计方法,其特征在于,所述S200包括:
S201、栈统计模块根据步骤S100的设置,拼装用于栈检测的APDU命令;
S202、APDU命令分为填充命令和查找命令,命令包括填充或查找的特定值、起始地址以及终止地址。
5.根据权利要求1所述的时栈空间的统计方法,其特征在于,所述S300包括:
S301、发送填充指令到智能卡,智能卡执行填充指令,将起始地址和终止地址之间的区域都填充为特定值。
6.根据权利要求1所述的时栈空间的统计方法,其特征在于,所述S500包括:
S501、发送查找令到智能卡,智能卡执行遍历检查指令,检查起始地址和终止地址之间中第一个地址内容为非特定值的地址,根据该地址即可得到栈空间最大修改空间。
7.一种运行时栈空间的统计系统,其特征在于,包括:
设置模块,用于在一定地址范围内设置要填充和查找的特定值,其中一定地址范围和特定值可自定义;
栈统计模块,用于根据设置模块的设置拼装APDU检测命令并发送给智能卡;
发送模块,用于向智能卡发送正常的业务逻辑命令序列;
编辑模块,用于智能卡根据检测命令内容,从栈顶到栈底进行填充或查找特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;
修改模块,用于根据业务逻辑命令序列,修改栈空间的数据信息。
8.根据权利要求7所述的运行时栈空间的统计系统,其特征在于,所述编辑模块包括:
填充模块,用于智能卡根据检测命令内容,在指定范围内进行填充特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址;
查找模块,用于智能卡根据检测命令内容,在指定范围内进行遍历查找特定值,其中检测命令内容包括填充或查找、特定值、起始地址和终止地址。
9.根据权利要求7所述的运行时栈空间的统计系统,其特征在于,所述设置模块包括:
距离计算模块,用于根据栈空间的大小,得到栈底到栈顶之间的距离;
栈顶地址定位模块,用于通过固定的栈底地址,根据栈底与栈顶之间的距离,得到栈顶的地址;
范围设置模块,用于将地址范围设置为栈底地址到栈顶地址并设置一特定值用于后续的填充和查找。
10.根据权利要求7所述的运行时栈空间的统计系统,其特征在于,所述栈统计模块包括:
填充指令生成模块,用于生成使智能卡在指定范围内填充指定特定值的APDU命令;
查找指令生成模块,用于生成使智能卡在指定范围内遍历查找指定特定值的APDU命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137270.XA CN109947476B (zh) | 2019-02-25 | 2019-02-25 | 一种运行时栈空间的统计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137270.XA CN109947476B (zh) | 2019-02-25 | 2019-02-25 | 一种运行时栈空间的统计方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947476A true CN109947476A (zh) | 2019-06-28 |
CN109947476B CN109947476B (zh) | 2020-03-31 |
Family
ID=67007651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910137270.XA Active CN109947476B (zh) | 2019-02-25 | 2019-02-25 | 一种运行时栈空间的统计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947476B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948000A (zh) * | 2021-03-17 | 2021-06-11 | 星汉智能科技股份有限公司 | 栈空间统计方法、装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158678A1 (en) * | 2003-02-07 | 2004-08-12 | Industrial Technology Research Institute | Method and system for stack-caching method frames |
CN101290596A (zh) * | 2008-05-23 | 2008-10-22 | 中兴通讯股份有限公司 | 一种任务堆栈溢出的实时检测方法及装置 |
CN101493900A (zh) * | 2009-03-02 | 2009-07-29 | 北京飞天诚信科技有限公司 | 一种智能卡的操作方法及系统 |
CN102298677A (zh) * | 2011-08-29 | 2011-12-28 | 瑞斯康达科技发展股份有限公司 | 一种堆栈溢出的保护方法和装置 |
CN105468965A (zh) * | 2014-08-21 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种动态堆栈内存管理方法 |
CN106648549A (zh) * | 2017-01-03 | 2017-05-10 | 北京华胜信泰数据技术有限公司 | 线程栈的处理方法及系统 |
-
2019
- 2019-02-25 CN CN201910137270.XA patent/CN109947476B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158678A1 (en) * | 2003-02-07 | 2004-08-12 | Industrial Technology Research Institute | Method and system for stack-caching method frames |
CN101290596A (zh) * | 2008-05-23 | 2008-10-22 | 中兴通讯股份有限公司 | 一种任务堆栈溢出的实时检测方法及装置 |
CN101493900A (zh) * | 2009-03-02 | 2009-07-29 | 北京飞天诚信科技有限公司 | 一种智能卡的操作方法及系统 |
CN102298677A (zh) * | 2011-08-29 | 2011-12-28 | 瑞斯康达科技发展股份有限公司 | 一种堆栈溢出的保护方法和装置 |
CN105468965A (zh) * | 2014-08-21 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种动态堆栈内存管理方法 |
CN106648549A (zh) * | 2017-01-03 | 2017-05-10 | 北京华胜信泰数据技术有限公司 | 线程栈的处理方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948000A (zh) * | 2021-03-17 | 2021-06-11 | 星汉智能科技股份有限公司 | 栈空间统计方法、装置及介质 |
CN112948000B (zh) * | 2021-03-17 | 2023-03-03 | 星汉智能科技股份有限公司 | 栈空间统计方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109947476B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657194B (zh) | 用于计算网络中动作的影响的方法和系统 | |
CN110088737A (zh) | 将并发程序转换为可部署在基于fpga的云基础设施上的硬件的综合路径 | |
US20170270229A1 (en) | Information processing method and device and computer storage medium | |
CN106648556A (zh) | 前后端集成开发测试的方法及装置 | |
CN110717268B (zh) | 一种基于face架构的可移植组件单元封装方法 | |
CN109547234A (zh) | 一种数据处理、上报方法、装置、设备和存储介质 | |
CN109032850A (zh) | 现场装置调试系统和现场装置调试方法 | |
US20210350262A1 (en) | Automated decision platform | |
CN109783346A (zh) | 基于关键字驱动的自动化测试方法、装置及终端设备 | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
CN112270376A (zh) | 模型训练方法、装置、电子设备、存储介质和开发系统 | |
CN116467061A (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
CN107133160A (zh) | 测试系统 | |
CN111090401A (zh) | 存储设备性能预测方法及装置 | |
CN109947476A (zh) | 一种运行时栈空间的统计方法及系统 | |
CN118034924A (zh) | 基于众核系统的数据处理方法、装置、电子设备和介质 | |
CN110032750A (zh) | 一种模型构建、数据生命周期预测方法、装置及设备 | |
WO2024060690A1 (en) | Automated machine learning model deployment | |
CN117076335A (zh) | 一种模型测试方法、系统、介质及电子设备 | |
CN115629928B (zh) | 一种面向类脑处理器的软硬协同验证方法及系统 | |
CN110245166A (zh) | 数据核对方法及装置 | |
CN109902001A (zh) | 对未初始化变量的检测方法及终端设备 | |
CN112651199B (zh) | 质量验证平台和质量验证方法 | |
CN112383443B (zh) | 运行于rdma通信环境的并行应用通信性能预测方法 | |
CN109308256A (zh) | 一种java程序动态分析方法、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |