调试工具:ollydbg
一、常用快捷方式:
F2 | 下断点,也就是指定断点的地址 |
F3 | 加载一个可执行程序,进行调试分析 |
F4 | 程序执行到光标处 |
F7 | 单步步入 |
F8 | 单步步过 |
F9 | 直接运行程序,遇到断点处,程序暂停 |
Ctrl+F2 | 重新运行程序到起始处,一般用于重新调试程序 |
Ctrl+F9 | 执行到函数返回处,用于跳出函数实现 |
Alt+F9 | 执行到用户代码处,用于快速跳出系统函数 |
Ctrl+G | 输入十六进制地址,快速定位到该地址处 |
Alt+B |
打开断点编辑器 |
Space | 修改/变换 |
|
|
二、关于F9,shift+F9,ALT+F9,CTRL+F9的区别:
①Shift+F9 - 与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
②Ctrl+F9 - 执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条命令执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
③Alt+F9 - 执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
另一个版本,比较好理解
Ctrl+F9 运行至ret
Alt+F9 运行至上层调用的下句
Shift+F9 忽略异常运行