Release v0.3.4
ElfStaticView Release Notes
亮点概览
1. 新增静态地址查询 API
本次新增了一套面向库调用方的静态地址查询能力,方便直接从 ProjectModel 或 ELF 文件中提取静态变量地址结果,而不必依赖 UI
交互或手动遍历展开树。
新增的公开接口包括:
- StaticAddressQuerySession
- query_static_addresses(...)
- query_static_addresses_from_file(...)
同时新增了配套数据结构:
- StaticAddressQueryOptions
- StaticAddressResult
这套查询能力支持:
- 按名称查询 name_query_text
- 按路径规则过滤 path_rules_text
- 控制是否包含 runtime-only 变量
- 默认只返回静态地址已知的变量
- 控制数组展开上限 max_array_elements
测试侧已经覆盖了这些核心行为:
- 名称查询
- 多规则路径过滤
- 数组展开
- 默认过滤 runtime-only
- Session 级缓存复用稳定性
2. 增强 CMake 集成与包消费方式
为了让外部项目更容易复用核心库,这一段还补上了包导出能力和消费验证:
- 新增 ElfStaticViewConfig.cmake 导出配置
- 支持 find_package(ElfStaticView CONFIG REQUIRED)
- 支持通过 add_subdirectory(...) 集成
- 新增 package smoke tests,验证 elf_static_view::core 可被正常链接
这意味着从 v0.3.1 之后,ElfStaticView 作为一个可复用 CMake 组件的可接入性更完整了。
3. 修复地址复制在负偏移下的错误结果
修复了 UI 中 Ctrl+C 复制“偏移后地址”时的计算错误。
close #1
问题表现:
- 预览和选择树显示正确
- 但复制结果在负偏移场景会把符号语义丢掉
示例:
- 原始地址:0x108055a3
- 偏移:-0x10800000
- 正确结果应为:0x55a3
- 修复前复制结果错误为:0x201055a3
修复后:
- Ctrl+C 与右键“复制偏移后地址”统一复用同一套偏移计算逻辑
- 复制结果与树和详情面板展示保持一致
- 相关提示文案也统一为“偏移后地址”,不再使用容易误导的“减偏移”表述
对使用者的实际影响
如果你是库调用方,这一段更新最重要的是:
- 可以直接把 ElfStaticView 当作 CMake 依赖来接入
- 可以通过新的静态地址查询 API 编程式拿到地址结果
如果你主要使用 GUI,这一段更新最重要的是:
- 负偏移场景下 Ctrl+C 复制地址终于和界面显示一致了
包含的提交
Full Changelog: v0.3.2...v0.3.3
Full Changelog: v0.1.5...v0.3.4