Skip to content

Release v0.3.4

Choose a tag to compare

@HamsterAPig HamsterAPig released this 31 May 13:55
· 20 commits to master since this release

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 复制地址终于和界面显示一致了

包含的提交

  • 45b92e0 feat: add static address query api
  • f8e4c51 fix: unify adjusted address copy logic

Full Changelog: v0.3.2...v0.3.3

Full Changelog: v0.1.5...v0.3.4