Release v0.2.1
Release Notes
重点更新
- 优化变量过滤体验:过滤结果会被缓存,并改为异步构建,减少大体量变量树筛选时的界面卡顿。
- 增强 C2000 ELF / DWARF 支持:
e_machine=141会显示为TI TMS320C2000,并支持 TI 工具链常见的成员偏移表达式。 - 修复成员地址展开:缺省位置属性的首个实例成员会按对象基址推断地址,避免显示为
NA。 - 补充工程忽略规则:忽略本地 Visual Studio 生成文件,减少开发机本地状态对工作区的干扰。
修复与改进
变量过滤
- 缓存变量过滤匹配结果,避免相同规则重复遍历变量树。
- 将变量过滤构建流程改为后台异步执行,筛选期间 UI 可继续响应。
- 调整过滤状态管理,支持过滤任务的开始、完成和过期结果丢弃。
- 补充过滤缓存、异步状态和防抖相关测试。
ELF / DWARF 解析
- 新增 C2000 机器类型识别:
e_machine=141显示为TI TMS320C2000。 - 保持 ELF 字节序严格来自
EI_DATA,不会因为 C2000 机器类型强制切换端序。 - 支持
DW_AT_data_member_location = DW_OP_plus_uconst <offset>的成员偏移解析。 - 对缺少
DW_AT_data_member_location的首个非声明实例成员推断relative_offset=0,使其展开地址等于对象基址。 - 避免对复杂 DWARF 位置表达式做猜测解析,无法明确识别时仍保持地址为空。
测试与 fixture
- 增加最小 ELF metadata fixture,覆盖 C2000
e_machine=141与LittleEndian显示。 - 增加
DW_OP_plus_uconst成员偏移 fixture,验证成员偏移和展开地址计算。 - 增加首成员缺省位置 fixture,验证首成员地址使用对象基址。
- 将静态变量期望文件从
.json重命名为.md,更贴合测试期望文件的文本说明用途。
工程维护
.gitignore增加本地 Visual Studio 相关文件规则。
Full Changelog: v0.2.0...v0.2.1