Opened 13 years ago
Last modified 9 years ago
#317 closed enhancement
Structured binary data editor — at Initial Version
Reported by: | Jiri Svoboda | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.7.0 |
Component: | helenos/app/other | Version: | |
Keywords: | gsoc12 | Cc: | wingedtachikoma@… |
Blocker for: | Depends on: | ||
See also: |
Description
As suggested by Martin Sucha, it would be useful to have a tool to view and edit structured binary data, such as program memory structures (task memory, core file), file system structures, etc.
I would suggest to create a library that would:
- define data structures (and API to manipulate them) to describe types (basic types, arrays, structs, unions)
- enumerate fields
- compute field offset (address)
- read and write fields
- convert between binary and textual representation
- find targets of links
The type definitions would be defined by plugins:
- plugin for reading DWARF data
- plugin for reading textual definitions
- plugin for specific set of types (e.g. ext2)
as well as definitions of other link types than pointer (e.g. block address).
Also plugins for different memory back-ends can be provided (possibly by the user):
- (core) file
- task memory (via Udebug)
- block device
On top of this library we can provide tools such as an interactive or command-based browser/editor. It could be also used as part of a debugger and possibly for other debugging purposes.