汇编语言WriteStackFrame过程:显示当前过程堆栈帧的内容
Irvine32 链接库有个很有用的过程 WriteStackFrame,用于显示当前过程堆栈帧的内容,其中包括过程的堆栈参数、返回地址、局部变量和被保存的寄存器。
该过程由太平洋路德大学 (Pacific Lutheran University) 的詹姆斯·布林克 (James Brink) 教授慷慨提供,原型如下:
还有一个过程名为 WriteStackFrameName,增加了一个参数,保存拥有该堆栈帧的过程名:
该过程由太平洋路德大学 (Pacific Lutheran University) 的詹姆斯·布林克 (James Brink) 教授慷慨提供,原型如下:
WriteStackFrame PROTO,
numParam:DWORD, ;传递参数的数量
numLocalVal: DWORD, ;双字局部变量的数量
numSavedReg: DWORD ;被保存寄存器的数量
main PROC mov eax, 0EAEAEAEAh mov ebx, 0EBEBEBEBh INVOKE myProc, 1111h, 2222h ;传递两个整数参数 exit main ENDP myProc PROC USES eax ebx, x: DWORD, y: DWORD LOCAL a:DWORD, b:DWORD PARAMS = 2 LOCALS = 2 SAVED_REGS = 2 mov a, 0AAAAh mov b, 0BBBBh INVOKE WriteStackFrame, PARAMS, LOCALS, SAVED_REGS该调用生成的输岀如下所示:
还有一个过程名为 WriteStackFrameName,增加了一个参数,保存拥有该堆栈帧的过程名:
WriteStackFrameName PROTO,
numParam:DWORD, ;传递参数的数量
numLocalVal: DWORD, ;双字局部变量的数量
numSavedReg: DWORD, ;被保存寄存器的数量
procName:PTR BYTE ;空字节结束的字符串
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频