本文介绍堆栈调试的使用,并介绍汇编窗口的配置和寄存器的监控
1、堆栈窗口
我们首先通过菜单调出堆栈窗口Callstack Window
Callstack Window展示的实际上是函数的调用关系,从启动文件开始到当前函数,这种展示方式很直观。
Local窗口展示了函数的局部变量,通过Context下来菜单选择对应的调用函数
双击窗口里的函数体可以跳转到对应的程序入口。
它最大的好处就是当这个函数被多个函数调用时,你知道这一次具体被哪一个函数调用,方便你的分析。
现在设置堆栈的大小参数,打开Debug menu / Configure Session,进入应用程序的堆栈设置
map文件会告诉你堆栈的地址和大小,也可以查看编译器的链接文件设置情况
根据你的map文件,将堆栈的地址尺寸填入设置内。
就可以实时显示堆栈的使用情况。
2、反汇编窗口
打开方式
窗口左侧可以设置断点。上面是跳转操作和语句的偏移地址,中间是反汇编的显示。
右击具体每一行,可以进行单步调试操作。
3、寄存器
在winIDEA里可以查看内核通用寄存器和外设特殊寄存器。
打开Core Registers,
可以对寄存器实时修改,或者跳转到所在地址对应的函数上。
在特殊功能寄存器界面,软件提供的信息非常清晰,详细,功能确实强大,
包括了寄存器名称,取值,占用几位,每一位当前取值对应的含义都有标注,非常详尽,甚至可以大部分情况不用看手册了。