Lazarus的高级CPU视图。
注意 - Beta,版本!!!
设置并使用:
- 下载fwhexview https://github.com/alexanderbagel/fwhexview和compile fwhexview.lcl.lpk
- 打开cpuview_d.lpk并将其安装在IDE(菜单:package-> install/卸载软件包)
- 重建IDE
- 在调试模式下,选择菜单“查看 - >调试Windows-> cpu-view”或按Ctrl+Shift+C
- 享受
已知问题:
如果在重建期间,拉撒路写道:“致命:找不到cpuview.reg使用的单位dlgcpuviewimplementation”。
- 再次编译cpuview_d软件包
- 再次重建IDE
此错误的原因尚不清楚。
调试日志和崩溃转储:
调试日志存储在以下路径中:“ lazarus_path config_lazarus cpuview debug.log”。
当CPU-View对话框首次打开时,它将创建它,并包含会话过程中添加的所有日志(即直到Lazarus最终关闭)。
上一个会话的日志将在启动时删除,因此,如果发生错误,则应保存日志文件以进行以后分析。
如果发生异常,则将呼叫堆栈保存到当前日志中。
您可以在设置“工具 - >选项 - >环境 - > cpu-view”中禁用日志记录或崩溃转储集合。
五个活跃的编辑:
- 拆卸器
- 寄存器
- 倾倒
- 堆
- 脚本和提示
共同特征:
- OS:Windows和Linux通过GTK2或QT5支持
- PROC:英特尔X86_64(尚未实施ARM)
- 线程上下文(基本,X87和SIMD寄存器)Windows和Linux上的全部支持
- 浅色和深色展示主题
- 交叉策划支持
- 支持线程切换,并瞬时更改有关活动线程的显示信息
- 命令在任何窗口中跳跃所选地址
- 每个编辑器中的双向跳跃堆栈
拆卸器窗口支持:
- 输出调试信息
- 跳跃方向显示
- 主动跳跃突出显示
- 突出显示所选寄存器
- 显示称为函数的名称而不是其地址
- 偏移
- 暗示带有菜单的选定指令,跳到收到信息的每个块
- 指示着色以易于代码阅读
- 断点(显示和修改)
- 书签同步(尚未实施)
- 在工具提示中显示每个跳跃的拆卸器(尚未实现)
注册窗口:
- 包含每个寄存器的调试信息(RAX..R15)
- 显示SIMD寄存器(XMM和YMM),具有12个显示模式
- X87寄存器的三种显示模式(ST-RM)
- eflags,tagword,statusword,Controlword,mxcsr flag登记册的位表示(在x64上包含解码标记)
- 更改所有寄存器值和快速标志切换(X87/SIMD尚未实现)
- 两种显示模式(完整而紧凑)
- 快速提示主动跳跃说明
- Lastror和LastStatus代码带有描述(仅Windows)
- 变更寄存器的亮点
- 突出显示并暗示已验证的地址
堆栈支持:
- 调试信息
- 主动和以前的帧突出显示
- 返回地址突出显示
- 偏移
- 突出显示并暗示已验证的地址
转储支持:
- 偏移
- 多个转储窗口
- 17显示模式(包括长的双80位)
- 6文本编码模式
- 5副本模式(包括Pascal阵列)
- 突出显示并暗示已验证的地址
- 快速跳转到找到的已验证地址(通过CTRL+单击)
- 选择(尚未实施)
- 地址识别和突出显示(尚未实施)
外貌:
光主题:
黑暗主题:
积极的跳跃,断点和智能提示,以获取选定的说明及其菜单:
注册Hightlight:
完整的Regview模式:
带有FPU-STX Regs(RX和MX可用)的简短regview模式:
带有XMM regs的简短regview模式(YMM和调试可用):
显示寄存器的各种选项:
堆:
堆叠有偏移: