CN101546287A - 代码修改方法和代码修改设备 - Google Patents

代码修改方法和代码修改设备 Download PDF

Info

Publication number
CN101546287A
CN101546287A CN200810084086A CN200810084086A CN101546287A CN 101546287 A CN101546287 A CN 101546287A CN 200810084086 A CN200810084086 A CN 200810084086A CN 200810084086 A CN200810084086 A CN 200810084086A CN 101546287 A CN101546287 A CN 101546287A
Authority
CN
China
Prior art keywords
instruction
memory reference
code
code block
addressing
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.)
Pending
Application number
CN200810084086A
Other languages
English (en)
Inventor
周武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200810084086A priority Critical patent/CN101546287A/zh
Priority to US12/411,547 priority patent/US8756584B2/en
Publication of CN101546287A publication Critical patent/CN101546287A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler

Abstract

代码修改方法和代码修改设备,用于修改程序的目标代码以允许存储器访问跟踪。代码修改方法包括:识别目标代码中要循环执行的目标代码块;识别目标代码块中在目标代码块的循环执行期间要访问的存储器地址不发生改变的至少一个存储器访问指令;和将用于跟踪所述至少一个存储器访问指令所要进行的存储器访问的例程插入在目标代码块之外。

Description

代码修改方法和代码修改设备
技术领域
本发明涉及计算机软件测试和调试技术,尤其涉及用于修改程序的目标代码以允许存储器访问跟踪的代码修改(instrumentation)方法和代码修改设备。
背景技术
存储器访问跟踪是计算机软件测试和调试领域的重要技术。例如,存储器访问跟踪可用于存储器泄漏检测、数据竞争检测等方面。
为了进行存储器访问跟踪,通常需要对计算机程序代码(例如源代码或目标代码等等)进行修改,在存储器访问指令(例如写入存储器的指令)之前或之后加入用于获得和记录有关存储器访问指令的信息,例如目标地址(被写入的地址)、写入数据长度、访问类型(例如加载或存储)、线程标识等等的例程或指令,或是用于调用这些例程或指令的指令。
与未进行这种修改的程序代码相比,经过修改的程序代码增加了用于存储器访问跟踪的开销,尤其是在程序代码包含较多存储器访问指令或存储器访问指令执行次数较多的情况下。
因此,需要一种能够降低这种开销的技术。
发明内容
本发明的目的是提供一种代码修改方法和代码修改设备,用于修改程序的目标代码以允许存储器访问跟踪的,使得能够降低存储器访问跟踪的开销。
本发明的实施例提供了一种代码修改方法,用于修改程序的目标代码以允许存储器访问跟踪,包括:识别目标代码中要循环执行的目标代码块;识别目标代码块中在目标代码块的循环执行期间要访问的存储器地址不发生改变的至少一个存储器访问指令;和将用于跟踪所述至少一个存储器访问指令所要进行的存储器访问的例程插入在目标代码块之外。
本发明的实施例还提供了一种代码修改设备,用于修改程序的目标代码以允许存储器访问跟踪,包括:循环识别装置,被配置为识别目标代码中要循环执行的目标代码块;指令识别装置,被配置为识别目标代码块中在目标代码块的循环执行期间要访问的存储器地址不发生改变的至少一个存储器访问指令;和插入装置,被配置为将用于跟踪所述至少一个存储器访问指令所要进行的存储器访问的例程插入在目标代码块之外。
根据本发明的实施例,对于循环执行的存储器访问指令,与其相应的跟踪指令被放在循环之外而不是循环内,减少了跟踪指令的执行次数,但同样能够跟踪被访问的存储器地址。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。在附图中,相同的或对应的技术特征或部件将采用相同或对应的附图标记来表示。
图1是示出根据本发明一个实施例的代码修改设备的结构的框图。
图2是示出根据本发明一个实施例的代码修改方法的流程图。
图3A和3B是示出插入装置插入的例程的图例。
图4是示出其中实现本发明的计算机的示例性结构的框图。
具体实施方式
下面参照附图来说明本发明的实施例。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
图1示出了说明根据本发明一个实施例的代码修改设备102的结构的框图。如图1所示,代码修改设备102包含循环识别装置103、指令识别装置104和插入装置105。循环识别装置103识别目标代码101中循环执行的目标代码块。指令识别装置104识别目标代码块中要访问的存储器地址不发生改变的存储器访问指令。插入装置105将用于跟踪例程或指令插入在目标代码块之外。
目标代码101可以是例如二进制可执行程序。目标代码101可包括有代码段。代码段由可执行指令或组成。每个指令具有一定的格式。根据指令所包含的信息能够确定指令的类型、操作数、寻址方式等。例如在指令格式中可规定操作码、源寄存器、目标寄存器和其它信息,根据操作码可以确定指令是否存储器访问指令(例如加载指令和存储指令)。
寻址方式是指形成源和目标操作数的地址的方式。涉及存储器访问的寻址方式的例子包括但不限于:
●直接寻址
操作数在存储器中,指令直接包含操作数的存储器地址。
●寄存器间接寻址
操作数在存储器中,操作数的存储器地址在寄存器中。
●寄存器相对寻址
操作数在存储器中,操作数的存储器地址是寄存器的内容加上偏移之和。
●基址加变址寻址
操作数在存储器中,操作数的存储器地址是基址寄存器加上变址寄存器的内容。
●相对基址加变址寻址
操作数在存储器中,操作数的存储器地址是基址寄存器和变址寄存器的内容加上偏移之和。
下面将结合图2来说明图1所示的代码修改设备102的各部分的操作。
图2是示出根据本发明一个实施例的代码修改方法的流程图。如图2所示,方法在步骤201开始。在步骤203,由循环识别装置103识别目标代码101中的循环,即在满足条件时循环执行的目标代码块。可利用已有的技术来识别这样的目标代码块。
接着在步骤205,指令识别装置104针对循环识别装置103识别出的每个目标代码块,识别目标代码块中在目标代码块的循环执行期间要访问的存储器地址不发生改变的存储器访问指令。例如,指令识别装置104逐个确定目标代码块中的指令是否存储器访问指令。如果是存储器访问指令,则确定在该目标代码块中是否存在修改该存储器访问指令中的操作数地址的指令。如果不存在修改操作数地址的指令,则指令识别装置104将该存储器访问指令识别为在目标代码块的循环执行期间存储器地址不发生改变的存储器访问指令。
判断是否修改操作数地址的方法取决于操作数的寻址方式。对于各种寻址方式,可将操作数地址看作是一个算术表达式的计算结果。例如对于寄存器相对寻址,算术表达式为“寄存器的内容+偏移量”。算术表达式如果不包含变量(例如寄存器),或者其所有变量在目标代码块执行期间不发生改变(即在目标代码块中不存在修改这些变量的指令),则认为该操作数地址在目标代码块执行期间不发生改变。
另外或可选地,取决于跟踪目的的不同,指令识别装置104可被配置为识别采用特定寻址方式的存储器访问指令。一般而言,上述特定寻址方式包括直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址中的一种或多种。
另外或可选地,取决于跟踪目的的不同,指令识别装置104可被配置为特定访问类型的存储器访问指令,例如读存储器的指令、写存储器的指令,或读写存储器的指令。
接着在步骤207,插入装置105将用于跟踪由指令识别装置104识别出的存储器访问指令的存储器访问的例程插入在目标代码块之外。
图3A示出了插入装置105插入的例程的示例。如图3A所示,假设指令识别装置104识别出目标代码块301中的一个指令“lwz r3,72(r3)”,用于将地址为寄存器r3的内容加72(即,[r3]+72)的存储器单元中的字加载到寄存器r3中。该指令的操作数地址[r3]+72在其所处的目标代码块301执行期间未发生改变。针对该指令,插入装置105可在目标代码块301之后插入跟踪例程302。当然,跟踪例程302也可插入在目标代码块301之前。
如图3A所示,跟踪例程302可包括三个部分。第一个部分为指令[01]-[03],用于保存例程会用到的三个寄存器r3、r4、r5的初值。一般而言,对于例程执行中会破坏的现场部分,需要在例程开始处提供用于保存例程开始之前,即例程插入位置的当前执行现场的指令。第二个部分为指令[04]-[07],用于记录目标代码块301中存储器访问指令“lwz r3,72(r3)”的类型、读取长度和读取地址信息。一般而言,可根据跟踪的需要来确定要记录的有关存储器访问的信息。第三个部分是指令[08]-[10],用于恢复例程用到的三个寄存器r3、r4、r5的初值。一般而言,这部分指令是用于恢复所保存的当前执行现场的指令。
回到图2,方法在步骤209结束。
在一个优选实施例中,循环识别装置103可以在已识别的目标代码块中进一步识别更小的循环执行的目标代码块。指令识别装置104被配置为针对循环识别装置103识别的每个循环进行其处理。
在另一个优选实施例中,插入装置105可以被配置为针对同一目标代码块中识别出的至少两个存储器访问指令,插入用于保存插入位置的当前执行现场的指令,插入用于记录这些存储器访问指令所要进行的存储器访问的跟踪所需的信息的指令,和插入用于恢复所保存的当前执行现场的指令。图3B示出了在此情况下插入装置105插入的例程的示例。如图3B所示,假设指令识别装置104识别出目标代码块303中的两个指令“lwz r3,72(r3)”和“lwz r4,80(r4)”,分别用于将地址为寄存器r3的内容加72(即,[r3]+72)的存储器单元中的字加载到寄存器r3中,和用于将地址为寄存器r4的内容加80(即,[r4]+80)的存储器单元中的字加载到寄存器r4中。该两个指令的操作数地址[r3]+72和[r4]+80在其所处的目标代码块303执行期间未发生改变。针对这两个指令,插入装置105可在目标代码块303之后插入跟踪例程304。
如图3B所示,跟踪例程302包括三个部分。第一个部分为指令[01]-[03],用于保存现场(即,例程会用到的三个寄存器r3、r4、r5的初值)。第二个部分为指令[04]-[11],用于记录目标代码块303中存储器访问指令“lwz r3,72(r3)”和“lwz r4,80(r4)”的存储器访问的有关信息。第三个部分是指令[12]-[14],用于恢复所保存的现场。
在进一步的优选实施例中,上述至少两个存储器访问指令的要访问的存储器地址采用相同的寄存器来寻址。另外或可选地,对于上述至少两个存储器访问指令的跟踪例程,可以进行优化以尽可能共享寄存器,以减少保护和恢复现场的负载。
虽然在前面的说明中将本发明描述为用于计算机软件测试和调试领域,然而本发明同样也适用于其它需要进行存储器访问跟踪的领域,例如体系结构设计和性能优化。例如,本发明可应用于体系结构设计中广泛使用的模拟器,以进行存储器访问跟踪。再例如,本发明也可应用于性能分析(profile)驱动的优化技术,以进行存储器访问跟踪来提供存储器性能分析数据。
上述系列处理和装置处理模块可以通过单一处理设备或多个处理设备来实现。这样的处理设备可以是微处理器、微控制器、数字处理器、微型计算机、中央处理单元的部分、状态机、逻辑电路及/或操作信号的任何设备。
另外,还应该指出的是,上述系列处理和装置也可以通过软件和固件实现。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图4所示的通用计算机400安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。
在图4中,中央处理单元(CPU)401根据只读存储器(ROM)402中存储的程序或从存储部分408加载到随机存取存储器(RAM)403的程序执行各种处理。在RAM 403中,也根据需要存储当CPU 401执行各种处理等等时所需的数据。
CPU 401、ROM 402和RAM 403经由总线404彼此连接。输入/输出接口405也连接到总线404。
下述部件连接到输入/输出接口405:输入部分406,包括键盘、鼠标等等;输出部分407,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等等,和扬声器等等;存储部分408,包括硬盘等等;和通信部分409,包括网络接口卡比如LAN卡、调制解调器等等。通信部分409经由网络比如因特网执行通信处理。
根据需要,驱动器410也连接到输入/输出接口405。可拆卸介质411比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器410上,使得从中读出的计算机程序根据需要被安装到存储部分408中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质411安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图4所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质411。可拆卸介质411的例子包含磁盘(包含软盘)、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD))和半导体存储器。或者,存储介质可以是ROM 402、存储部分408中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
还需要指出的是,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
虽然已经详细说明了本发明及其优点,但是应当理解在不退出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本申请的范围不仅限于说明书所描述的过程、设备、制造、物质的结构、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、制造、物质的结构、手段、方法或者步骤。因此,所附的权利要求旨在它们的范围内包括这样的过程、设备、制造、物质的结构、手段、方法或者步骤。

Claims (10)

1.一种代码修改方法,用于修改程序的目标代码以允许存储器访问跟踪,包括:
识别目标代码中要循环执行的目标代码块;
识别目标代码块中在目标代码块的循环执行期间要访问的存储器地址不发生改变的至少一个存储器访问指令;和
将用于跟踪所述至少一个存储器访问指令所要进行的存储器访问的例程插入在目标代码块之外。
2.如权利要求1所述的代码修改方法,其中所述至少一个存储器访问指令包括至少两个存储器访问指令,所述插入包括:
插入用于保存插入位置的当前执行现场的指令;
插入用于记录所述至少一个存储器访问指令所要进行的存储器访问的跟踪所需的信息的指令;和
插入用于恢复所保存的当前执行现场的指令。
3.如权利要求1或2所述的代码修改方法,其中所述至少一个存储器访问指令的要访问的存储器地址的寻址模式包括直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址中的一种或多种。
4.如权利要求3所述的代码修改方法,其中所述至少一个存储器访问指令的要访问的存储器地址采用相同的寄存器来寻址。
5.如权利要求1所述的代码修改方法,其中所述例程被插入在目标代码块之后。
6.一种代码修改设备,用于修改程序的目标代码以允许存储器访问跟踪,包括:
循环识别装置,被配置为识别目标代码中要循环执行的目标代码块;
指令识别装置,被配置为识别目标代码块中在目标代码块的循环执行期间要访问的存储器地址不发生改变的至少一个存储器访问指令;和
插入装置,被配置为将用于跟踪所述至少一个存储器访问指令所要进行的存储器访问的例程插入在目标代码块之外。
7.如权利要求6所述的代码修改设备,其中所述至少一个存储器访问指令包括至少两个存储器访问指令,所述插入装置进一步被配置为插入用于保存插入位置的当前执行现场的指令,插入用于记录所述至少一个存储器访问指令所要进行的存储器访问的跟踪所需的信息的指令,并且插入用于恢复所保存的当前执行现场的指令。
8.如权利要求6或7所述的代码修改设备,其中所述至少一个存储器访问指令的要访问的存储器地址的寻址模式包括直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址中的一种或多种。
9.如权利要求8所述的代码修改设备,其中所述至少一个存储器访问指令的要访问的存储器地址采用相同的寄存器来寻址。
10.如权利要求6所述的代码修改设备,其中所述插入装置进一步被配置为将所述例程插入在目标代码块之后。
CN200810084086A 2008-03-26 2008-03-26 代码修改方法和代码修改设备 Pending CN101546287A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200810084086A CN101546287A (zh) 2008-03-26 2008-03-26 代码修改方法和代码修改设备
US12/411,547 US8756584B2 (en) 2008-03-26 2009-03-26 Code instrumentation method and code instrumentation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810084086A CN101546287A (zh) 2008-03-26 2008-03-26 代码修改方法和代码修改设备

Publications (1)

Publication Number Publication Date
CN101546287A true CN101546287A (zh) 2009-09-30

Family

ID=41119094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810084086A Pending CN101546287A (zh) 2008-03-26 2008-03-26 代码修改方法和代码修改设备

Country Status (2)

Country Link
US (1) US8756584B2 (zh)
CN (1) CN101546287A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107250977A (zh) * 2015-03-04 2017-10-13 森蒂彼得塞米有限公司 通过对指令序列的近似监控的运行时代码并行化
WO2020062985A1 (zh) * 2018-09-26 2020-04-02 Oppo广东移动通信有限公司 块设备访问追踪方法以及装置、存储介质及终端
CN111459572A (zh) * 2020-03-31 2020-07-28 深圳市汇顶科技股份有限公司 程序加载方法、控制器、芯片以及电子设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436449B1 (en) 2015-06-02 2016-09-06 Microsoft Technology Licensing, Llc Scenario-based code trimming and code reduction
US9547483B1 (en) 2015-11-06 2017-01-17 International Business Machines Corporation Feedback directed optimized compiling of optimized executable code
US10809985B2 (en) 2017-03-09 2020-10-20 Microsoft Technology Licensing, Llc Instrumenting program code
US10853041B2 (en) * 2017-03-09 2020-12-01 Microsoft Technology Licensing, Llc Extensible instrumentation
CN109117277B (zh) * 2017-06-23 2020-11-27 上海木鸡网络科技有限公司 异步环境中模拟同步阻塞的方法及装置、存储介质、服务器、终端
CN115981985A (zh) * 2023-01-28 2023-04-18 北京基调网络股份有限公司 代码块监测方法、装置、电子设备及可读存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6126329A (en) * 1993-06-08 2000-10-03 Rational Software Coporation Method and apparatus for accurate profiling of computer programs
US5966539A (en) 1994-03-01 1999-10-12 Digital Equipment Corporation Link time optimization with translation to intermediate program and following optimization techniques including program analysis code motion live variable set generation order analysis, dead code elimination and load invariant analysis
US5909577A (en) * 1994-04-18 1999-06-01 Lucent Technologies Inc. Determining dynamic properties of programs
US5689712A (en) * 1994-07-27 1997-11-18 International Business Machines Corporation Profile-based optimizing postprocessors for data references
US5854933A (en) * 1996-08-20 1998-12-29 Intel Corporation Method for optimizing a computer program by moving certain load and store instructions out of a loop
US6314558B1 (en) * 1996-08-27 2001-11-06 Compuware Corporation Byte code instrumentation
US5960198A (en) * 1997-03-19 1999-09-28 International Business Machines Corporation Software profiler with runtime control to enable and disable instrumented executable
US6088525A (en) * 1997-06-19 2000-07-11 Hewlett-Packard Company Loop profiling by instrumentation
US6553564B1 (en) * 1997-12-12 2003-04-22 International Business Machines Corporation Process and system for merging trace data for primarily interpreted methods
US6332214B1 (en) * 1998-05-08 2001-12-18 Intel Corporation Accurate invalidation profiling for cost effective data speculation
JP2001325111A (ja) * 2000-05-16 2001-11-22 Hitachi Ltd 投機機構向けコンパイル方法
US7000225B2 (en) * 2000-12-07 2006-02-14 International Business Machines Corporation Method for inserting global breakpoints
US6957421B2 (en) * 2001-01-26 2005-10-18 Hewlett-Packard Development Company, L.P. Providing debugging capability for program instrumented code
US20030084433A1 (en) * 2001-10-31 2003-05-01 Chi-Keung Luk Profile-guided stride prefetching
US20040003375A1 (en) * 2002-06-28 2004-01-01 George Jini S. Method and system for combining dynamic instrumentation and instruction pointer sampling
US7140008B2 (en) * 2002-11-25 2006-11-21 Microsoft Corporation Dynamic temporal optimization framework
US20050251790A1 (en) * 2004-04-14 2005-11-10 Robert Hundt Systems and methods for instrumenting loops of an executable program
US8266608B2 (en) * 2005-02-18 2012-09-11 Green Hills Software, Inc. Post-compile instrumentation of object code for generating execution trace data
US7698692B1 (en) * 2005-11-10 2010-04-13 Sun Microsystems, Inc. Preparing a binary file for future instrumentation
US7873945B2 (en) * 2007-06-29 2011-01-18 Microsoft Corporation Automatically generating test cases for binary code
US8037459B2 (en) * 2007-07-31 2011-10-11 International Business Machines Corporation Recovery from nested exceptions in an instrumentation routine

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107250977A (zh) * 2015-03-04 2017-10-13 森蒂彼得塞米有限公司 通过对指令序列的近似监控的运行时代码并行化
WO2020062985A1 (zh) * 2018-09-26 2020-04-02 Oppo广东移动通信有限公司 块设备访问追踪方法以及装置、存储介质及终端
CN111459572A (zh) * 2020-03-31 2020-07-28 深圳市汇顶科技股份有限公司 程序加载方法、控制器、芯片以及电子设备
CN111459572B (zh) * 2020-03-31 2023-01-31 深圳市汇顶科技股份有限公司 程序加载方法、控制器、芯片以及电子设备

Also Published As

Publication number Publication date
US20090249304A1 (en) 2009-10-01
US8756584B2 (en) 2014-06-17

Similar Documents

Publication Publication Date Title
CN101546287A (zh) 代码修改方法和代码修改设备
CN100440163C (zh) 对计算机程序进行运行时分析的方法和系统
US8769504B2 (en) Method and apparatus for dynamically instrumenting a program
CN102543179B (zh) 串行接口存储器中的同时读取与写入存储器操作
CN1760875B (zh) 基于文件存取特性在各种类型的存储卷之间透明迁移文件
CN100449477C (zh) 用于嵌入式系统的实时调试器接口
US9424009B2 (en) Handling pointers in program code in a system that supports multiple address spaces
US20110154299A1 (en) Apparatus and method for executing instrumentation code
CN102103481A (zh) 字节序转换工具
US7076769B2 (en) Apparatus and method for reproduction of a source ISA application state corresponding to a target ISA application state at an execution stop point
CN111124921B (zh) 内存越界的检测方法、装置、设备和存储介质
CN101246429A (zh) 将闪存模块用作主存储器的电子系统和相关系统引导方法
CN107977577B (zh) 访存指令访问检测方法及装置
CN103810099A (zh) 代码跟踪方法及其系统
CN107544811A (zh) IOS平台隐藏dylib文件的方法、存储介质、电子设备及系统
US8726101B2 (en) Apparatus and method for tracing memory access information
CN102799523B (zh) 动态探测程序执行路径的方法、装置和计算机系统
US20040153785A1 (en) System and method for enabling selective execution of computer code
US7805581B2 (en) Multiple address and arithmetic bit-mode data processing device and methods thereof
CN1991689B (zh) 具有非工作状态操作的处理器及其方法
CN101853198A (zh) 地址总线的检测方法、设备和系统
CN112199116B (zh) 操作数栈寄存器识别方法、装置、设备及存储介质
CN104461676A (zh) 二进制转译堆栈操作加速处理方法及其处理器
CN104572655A (zh) 数据处理的方法、装置及系统
US20090089768A1 (en) Data management for dynamically compiled software

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20090930