1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
TODO/Wishlist Items
===================
KCachegrind
-----------
All cost Lists:
* Show up to a number of items, not down to a threadshold.
If more, add a "..." with number of items not shown, and context option
to show more
* "Copy from Top" converts lists into ASCII, puts into clipboard
Configuration:
Source dirs per ELF object
Layout:
* 1/2/3/4 vertical/horizontal FunctionInfos
with Shift/Wraparound selection mode
* Inside each FunctionInfo different Layouts
- tabbed layout
- top: info, bottom left: calls/coverage, bottom right: graph/source
* Long/short info tab
General:
* Selected Item can be a object/file/class/function/line
* Configuration Dlg
- Local config (?)
- Cost Types
- function colors
- Try to reload source after config.
* Session Management
Annotation Views:
BUGS:
* Draw problem with multiple srcs to one target
* REP case...
TODO:
* Selectable Jumps (Arrows)
* Tooltip for Jumps (Kind, from/to, jump count)
* Show direction (arrows) on jump lines
Source view TODO:
* Implicit jumps (green) [needs support from the tool?]
Callgraph:
* Fix Arrows for back-arcs
* Less "Jumps" for minimap
* Correct Keyboard navigation (how?)
Types:
* Ratios
* Automatic subtypes
WISHS:
* Support for Data tracing
Which variables are touched how often from which function?
- Some graphical visualisation...
* GCC -pg (gmon.out) as Profiling Backend
* Demangler (use c++filt)
* Calculation of call weights (if not given)
* OProfile, DynaProf
Support for KCachegrind in Calltree
-----------------------------------
WISHS:
- store more details of calltree
- for every function call: executed from shared lib
(Not needed, if function names are unique in whole app)
- adaptive call chain context (Really needed ? MUCH Data!)
- dump at
- breakpoints
- watchpoints (with data tracing!)
- every xxx BBs (DONE)
- dump around
- function invocation
- KAction event
- DCOP event
- data accesses from (instr address/count)
stack: -> (function, stackframe-offset)
dynamic: -> (mem region start, [type], offset)
type can be get when a constructor is called for region
static: -> (mem region start, type, offset)
* Generate full instr/data access trace for offline analysis.
* Appending mode
|