1.IDA调试概述
IDA中的调试跟踪是一种记录方法, 它主要是用于记录一个进程在执行过程中发生的特定事件。
跟踪分为两类:指令跟踪和函数跟踪。
2.指令跟踪
在IDA打开指令跟踪方法:Debugger-Tracing-Instruction Tracing
IDA将记录被指令更改的地址、指令和任何寄存器的值。(指令跟踪将减慢被调试进程的执行速度,因为调试器必须单步执行这个进程,以监视和记录所有寄存器的值)
3.函数跟踪
在IDA打开指令跟踪方法:Debugger-Tracing-Function Tracing.
函数跟踪是指令跟踪的子集,它用于记录函数调用(并选择性地记录返回值),而不记录寄存器的值。
在IDA打开跟踪结果方法:Trace window
Debugger-Tracing-Trace window, 可以查看跟踪的结果。
4.栈跟踪
栈跟踪显示的是当前调用栈或函数调用序列。
5.监控
在IDA打开跟踪结果方法:Debugger-Watches-Watch list,可以打开并调整监视列表。
在动态调试进程时,你需要持续监视一个或几个变量的值。你不需要在每次进程暂停时都导航到相关的内存位置,许多调试器都能让你指定内存位置列表,每次进程在调试器中暂停没,这些内存位置的值都将显示出来。这样的列表叫做监视列表。