5
- bug numbers in changelog
6
- mailer off tag to debian bts
14
- check /var/log/messages during make test
15
- add to tests themselves?
20
DONE - have 'make exmtool' not depend on gtk/X
22
DONE - Change list labels when we select
23
(e.g. maps for process X, maps for all procs)
25
DONE - Review 'not selected' text as well
27
DONE - provide resizable columns
29
DONE - fix seg when clicking checkbox with no lib selected (grey checkbox)
31
DONE - test 'all procs' works for ELF *symbols* too
33
DONE - avoid very long cmdlines (see patch from Lubos)
35
DONE - Add About dialogue (from button) for shameless self-promotion
37
DONE - File view should all (and default to) sums over all procs
38
DONE - add checkbox (all procs/this proc)
40
DONE - mad non-linear CPU usage
42
- select libqt (used by psi)
43
- select /usr/bin/psi process
45
- Looks like sorting on adding to the listbox
47
DONE - read *dynamic* symbols from ELF files
48
- does this do what we need?
50
DONE - text/fix dump_maps
52
DONE - merge 0.9 64bit work into trunk (check diffs on trunk...worth keeping?)
54
- maybe start from 0.9 and add in...
56
DONE - look at the "global memory analysis tool" gmail, some good todos in there
58
DONE - remove leading _ on buttons
60
DONE - add keyboard accelerators to buttons
62
NO - add keyboard accelerators to tabs
64
DONE - update ELF sections when file changes (proc might be NULL)
66
OK - are some of the 'sums' with 'all processes' set invalid as sums?
68
DONE - need to clear all sub-sections when we change something higher up
69
- e.g. picking new process clears file
70
- but elf sections don't change
72
DONE - clear symbols when sections change?
74
NOTABUG? - check .got bug from Lubos
75
- add auto test case before fixing
76
- pick out ELF section which must have writable > 0
81
- cross-propagate file/proc selection between tabs
83
- allow optional checkboxes to be set by
84
cmdline and/or env var. avoids cfg file?
86
- cmdline sorting should ignore path
88
- keep PID? remove pid? father-son sort?
89
- can we move some info out of the 'processes' list and into
90
an 'info' area below the list?
91
e.g. 'full cmdline', parent pid (clickable!), children,
93
- rename 'writable' column
94
- improve doc for writable column
97
- add some kind of in-application help
101
- drop most boost::shared_ptr usage. We build large std::lists of these
102
things, leading to lots of object creation.
103
- e.g. run under gdb, select an ELF section with many symbols and
104
sample backtrace (with ctrl-C, bt, c) a few times
106
- add an icon (does this need gnome?)
108
- change kernel interface to /proc/<pid>/exmap
110
- shrink Panes sensibly when window resized (hook signal and even up?)
111
- go to 4-way split on resize? (and startup?)
112
- or just set 'expand' on panes?
114
- write data to file, load from file (add a FileSysInfo type)
115
- use this to instrument slug
116
- also use in main gexmap to reduce mem footprint during analysis?
119
- how much is allocated during reading info?
121
- memprof on "write data to file" tool
123
- 6.5Mb in Vma::add_pages, from vector.push_back
124
- consider shrinking class Page?
125
- wasting 30 bits/class at the moment on padding
126
- could just store 'page index' into the PagePool
127
- and have PagePool store the bits
128
- warning if they aren't the same on all?
129
- also, common case is contig indices
130
into PagePool, so could store a 'Range'...
131
- 2.5Mb in PagePool::inc_page_count/map[]
132
- 0.7Mb in allocated class Vmas
133
- could lose the selfptr nonsense
134
- maybe drop the shared_ptr stuff entirely?
135
- 3.9Mb in File::open_file()
137
- need to close off open fds!
140
- add dirty column from pte_dirty (suggestion from didier)
142
- consider having per proc/file in a seperate window (reduce clutter)
144
- consider byte-sized sizes for smaller items like symbols
146
- consider adding columns (like 'swapped') and having config file
149
- list procs/files with summary
150
- specify proc/file and get basic info
151
- specify proc/file and list files/procs
152
- specify proc+file and list ELF info?
153
- specify file/ELF section
155
- consider handling totals differently
156
- best would be something outside of the file/proc tab.
157
- a single text string on the bottombar looks ugly
160
- perhaps split over two lines or something?
161
- even if keep totals in proc list, perhaps add to file too?
163
- somehow test on 64bit
165
- merge read_vma and read_page_info so can override
166
them both in test sysinfo
167
- have read /proc/x/maps as protected func
168
- write TestNoModuleLinuxSysInfo
169
- which reads /proc/x/maps and makes up page info
170
- is there a way to make it test-compatible?
171
- or skip those tests if in that mode?
172
- add a switch (on ENV var?) to enable no-module mode
175
- test on hp testdrive
177
- add coverage testing support to makefile
178
- better Exmap coverage
179
- mkdir -p ./coverage
180
lcov --directory $STAP_OBJ --zerocounters
181
runtest --tool=systemtap
182
lcov --directory $STAP_OBJ --capture --output-file ./coverage/stap.info
183
genhtml -o ./coverage ./coverage/stap.info
185
- document non-page-aligned values for files
187
- try and show thread stack usage
188
- maybe additional info from kernel module?
190
- support earlier kernel versions (no pud_t. See mail from Joaquim)
191
- also need to worry about [vdso] name
193
- we can have a map to a (deleted) file. We'll fail to open this
194
(d'uh). What problem does this cause? Just a "non elf" file?
196
- read /proc/k?mem using pfn to show hex contents?
197
- I think /dev/mem is what is wanted.
198
- shift pfn to get a physical address
199
- seek & read /dev/mem to read data
201
- add a 'RangeView' to exmap.pl
202
- pfns are in Vma, so add 'read_mem_range' to that?
204
- Find a way to identify glibc [anon] maps as heap
206
- We are holding an open fd to each Elf file. We probably need it to
207
seek to read symbols, unless we open/close there (or make it private
208
and do it in the caller).
211
- check for memleaks caused by shared_ptr
212
- if we do 'reload', functionality then will need to explicitly break
213
proc <-> file <-> vma links since the shared_ptr's are refcounting
214
won't. (use weak_ptr) (also problems with selfptr nonsense)
216
- right justify Sizes
217
- use %10.2f as the format
218
- but then need fixed-width font in text renderer
220
- perhaps change default font for all of it?
221
- could pad with leading zeros <ugh>
224
- basic doc on all classes
225
- need to mark todo's as \todo
226
DONE - add TODO generation
227
DONE - up and running
229
------------------------------------------------------------