Phypin Debug:QEMU VM调试工具的最新进展
Phypin Debug是一款专为QEMU虚拟机设计的调试工具,旨在为开发者提供高效、便捷的调试体验。最新版本0.10.0于2024年8月19日发布,带来了一系列重要的更新和优化,进一步提升了用户的调试效率。
最新版本更新:
0.10.0(发布时间:2024-08-19)
新增功能:
反汇编视图:
- 断开连接时将关闭所有反汇编视图
- 当PC处于缺页状态时,再次暂停虚拟机将刷新反汇编视图
- 当Load Snapshot后进程不存在时会在UI上提示
VM视图:
- VM Snapshots行增加右键菜单
- VM视图新增Rename VM右键菜单,并优化VM视图的右键菜单顺序与名称
- SSH连接时如果虚拟机处理暂停状态,则提示用户是否要继续运行
- IPython连接时不需要进入Debug Session
Stop Point视图:
- 增加Disable/Enable/Remove All右键菜单
- 关闭连接后也关闭Stop Point的Editor
- Stop Point新增Create and Again按钮,可连续创建多个Stop Point
修复问题:
- 修复VM右键菜单Create Snapshot在未连接状态报错的问题
- 修复断开连接后进程视图未清空数据的问题
历史版本更新:
0.9.0(发布时间:2024-02-01)
新增功能:
- Stop Point列表为空时,显示大的创建按钮
- Process View的进程筛选可以使用ttbr0_el2的寄存器值作为PGD筛选
- 缺页时stepOver将会继续在当前PC Stop
修复问题:
- 修复vm instance移除bug
- 禁用调试变量区域设置寄存器值选项
- 修复parse struct bug
- 修复进程筛选时按ESC会导致已有条件清除的问题
其他:
- hexview在VM running状态打开时,增加dialog提示
- command控制Phypin docker image显示管理
0.8.0(发布时间:2024-01-25)
新增功能:
- 内存视图添加内存修改功能
- 容器关联vminstance名称
修复问题:
- 修复快照bug
- 修复jupyter notebook print失败问题
- 修复vm添加失败bug
0.7.0(发布时间:2023-12-21)
新增功能:
Stop Point:
- 新建Stop Point使用Editor Panel打开
- StopPoints View增加Welcome内容
- 支持StopPoint: ProcessSwitch
hexview开发:
- hexview选中内存,直接以该起始位置后8位的内存内容按大小端解析成为新地址进行跳转
- hexview添加按c结构体自动解析内存功能
- 增加配置内存字符展示的编码格式
- 增加选中bytes转不同格式字符串
- 搜索内存
- 增加配置项,配置系统大小端,解内存类型
- 搜索快捷键
- 删除断点
- 支持以大端方式Copy Hex
Image视图:
- 支持重新创建VM对象,因为有时候用户可能会主动删除VM
- Copy Debug Address响应一个URL
- Restart Container后端口有变化,应该重新创建VM对象
修复问题:
- hexview: 跳转失灵,出现webview disposed
- 修复调试器处于停止状态导致VSCode未显示Variable、Call Stack的问题
- 修复VM视图当前连接的VM在断开连接后依然显示绿色圆点的问题
0.6.0(发布时间:2023-11-06)
新增功能:
- 变量视图增加右键菜单:Open in Disassembly View
- 优化进程筛选无结果的展示和交互,避免误解
- Stop Points支持添加connect、sendmmsg System Call
修复问题:
- 未连接状态下VM列表展开时报错的问题
- 在未打开反汇编视图时,打开它不会定位到目标地址上的问题
- 新版VSCode下范围断点的结束位置样式错乱问题
- 二进制视图在新版VSCode上顶部栏未对齐的问题
- 断开连接时进程视图报错的问题
0.5.0(发布时间:2023-10-18)
新增功能:
反汇编视图:
VM视图:
- 创建快照时总是刷新一下以显示进度,避免手动刷新的额外操作
Processes视图:
- 支持筛选,可使用JavaScript的正则表达式语法,还可以用代表当前进程
Stop Point视图:
- 移除File Content Stop Point,其功能可以通过System Call write Stop Point实现
- System Call write可以不填pattern
其他:
- 状态栏增加虚拟机当前每秒运行指令数(IPS)。仅在运行态展示,虚拟机暂停时不展示。
修复问题:
- 反汇编视图:
- 重新打开反汇编视图存在未正确定位到上次跳转位置的情况
0.4.0(发布时间:2023-09-22)
新增功能:
调试:
Stop Point:
- 新增Stop Points Panel,支持在匹配文件内容、切换特定进程、发生System Call调用时自动暂停虚拟机
- File Content:用于监听文件内容匹配,通常作用于某个进程的输出或日志文件
- Process Resume:用于监听进程切换到运行态,通用用于进程在首次启动时捕获入口PC
- System Call:用于监听System Call(如write)调用,一般用于日志输出中的关键节点
VM视图:
- VM的Tooltip中增加所有端口信息
- 添加VM时支持填入完整的URL(以phypin://开头)
- Snapshot支持右键复制名称
反汇编视图:
- 支持展示非指令的数据段内容,包括缺页状态下的数据
- 鼠标Hover到指令OP Code,可以悬浮提示指令的二进制表示
- 地址跳转表达式支持有空格的16进制数字
- 支持打开任意进程的反汇编视图,默认跳转到上次记忆的地址处,没有则为0地址
- 每行后面支持显示备注(注释),目前针对数据行会显示其ASCII码
- 支持每一行在指令和数据两种展示方式之间切换
Modules视图:
- 右键菜单"Go Address to Disassembly View"改为"Open in Disassembly View",并修复其功能
- 增加右键菜单"Open in Hex View"
Variables视图:
- 寄存器列表增加elr_el1、elr_el2
- 寄存器列表增加currentel、elr_elx、ttbr0_elx、ttbr1_elx、lr(函数返回地址)
- 将pstate中的nzcv单独展示在寄存器列表中
hexview:
修复问题:
hexview:
反汇编视图:
- 反汇编视图地址跳转使用平滑滚动时,跳转位置存在不精准的情况
- Go to PC后所在行没有高亮
Variables视图:
其他:
0.3.0(发布时间:2023-08-23)
新增功能:
- Modules视图支持按PC查询其所在的Module(只要在地址范围内)
- VM上右键Copy Address将得到一个完整的URL,如phypin://127.0.0.1:8765?ssh=10022&vnc=5902&jupyterServer=8766&ipyKernelShell=8770&ipyKernelIopub=8771&ipyKernelStdin=8772&ipyKernelControl=8773&ipyKernelHb=8774
修复问题:
- 在反汇编视图里进行地址跳转,有时没有高亮目标地址所在行
其他:
0.2.0(发布时间:2023-08-21)
新增功能:
- Modules视图在宽度不够时对进程名、路径等进行省略展示,不再折行(保持风格简洁、美观)。对于省略的内容,用户可以鼠标悬浮查看完整内容。
- 新增Command:Set Log Level,可动态调整日志级别
- 新增Command:Clear Phypin Debug Data,可删除所有插件存储的数据,如VM地址、Stop Points等。请谨慎操作,数据不可恢复!
修复问题:
- 断点实心红圈在1080p显示器上,如果放大窗口(Zoom In)会出现中心黑点
0.1.0
新增功能:
- 侧边栏视图:Phypin Image、VM Instances、Processes
- 底部Panel:Modules
- Editor:Disassembly Editor、Hex Editor、Flow Graph Editor
本站所有资源都是由网友投稿发布,或转载各大下载站,
请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则
产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:study_golang@163.com