Commit Graph

2686 Commits

Author SHA1 Message Date
Bartosz Taudul
47d56f6259 Proper scaling of instruction pointer counts. 2020-04-09 22:52:44 +02:00
Bartosz Taudul
f0c7a751c1 Context-sensitive auto-selection of stats mode in source view. 2020-04-09 22:37:49 +02:00
Bartosz Taudul
9d2c03bc5b Allow showing sample data for whole symbol. 2020-04-09 22:23:57 +02:00
Bartosz Taudul
a2385a8b24 Use correct address range. 2020-04-09 22:21:21 +02:00
Bartosz Taudul
0e1c9e2cd1 Highlight source line corresponding to hovered asm line. 2020-04-09 22:02:06 +02:00
Bartosz Taudul
0791871955 Highlight asm lines for hovered source line. 2020-04-09 21:57:28 +02:00
Bartosz Taudul
1e965edb54 Don't separate inlines by default. 2020-04-09 19:44:42 +02:00
Bartosz Taudul
a339d397ce Don't select addresses outside symbol. 2020-04-09 14:10:07 +02:00
Bartosz Taudul
241f59b59f Sprinkle some icons. 2020-04-09 02:33:02 +02:00
Bartosz Taudul
554366ad9f Search for address within current symbol. 2020-04-09 02:12:49 +02:00
Bartosz Taudul
d2ebc58be3 Set sensible combo box heights. 2020-04-09 02:09:54 +02:00
Bartosz Taudul
0f42dc2e4c Fix source-less sample count calculations. 2020-04-09 02:04:22 +02:00
Bartosz Taudul
3177865fc2 Follow jump by clicking on jump arrows. 2020-04-09 02:02:06 +02:00
Bartosz Taudul
a715df6338 Tighten assembly source location display. 2020-04-09 01:52:22 +02:00
Bartosz Taudul
6dd765c101 Tighten mnemonic display. 2020-04-09 01:45:38 +02:00
Bartosz Taudul
bae08c27c8 Tighter assembly address display. 2020-04-09 01:31:27 +02:00
Bartosz Taudul
643c0867ed Add jump arrows tooltip. 2020-04-09 01:09:57 +02:00
Bartosz Taudul
2cd789662b Handle source-less asm lines selection. 2020-04-08 23:59:21 +02:00
Bartosz Taudul
08c58fe8e3 Separate asm lines selection. 2020-04-08 23:59:10 +02:00
Bartosz Taudul
25346c7a55 Disable movement in source view sub-children. 2020-04-08 23:32:36 +02:00
Bartosz Taudul
450229f5e4 Only change assembly target line when necessary. 2020-04-08 23:30:42 +02:00
Bartosz Taudul
3a1f980a36 Prevent opening obsolete source files. 2020-04-08 23:07:59 +02:00
Bartosz Taudul
3e2260bdcb Add color boxes to file selection. 2020-04-08 23:06:38 +02:00
Bartosz Taudul
d300d17f9e Match source and assembly selection. 2020-04-08 22:57:42 +02:00
Bartosz Taudul
bb338a1c97 Symbol file selector. 2020-04-08 22:25:36 +02:00
Bartosz Taudul
a1bad4b7be Build list of symbol source files. 2020-04-08 22:18:00 +02:00
Bartosz Taudul
0551cd8e44 Switching between source files from asm view. 2020-04-08 22:10:58 +02:00
Bartosz Taudul
3f01d3bcb1 Selection of inlined function within symbol. 2020-04-08 22:04:33 +02:00
Bartosz Taudul
006919ec55 Mixed source/assembly symbol view. 2020-04-08 22:04:00 +02:00
Bartosz Taudul
b353e8752d Display inlined function stats within symbols. 2020-04-08 19:09:47 +02:00
Bartosz Taudul
b05625d444 Display count of inlined functions in symbols. 2020-04-08 17:17:45 +02:00
Bartosz Taudul
51d5ef5b4e Allow merging inlined function stats into base symbol. 2020-04-08 17:12:15 +02:00
Bartosz Taudul
02e1a7669c Add offset-less GetSymbolForAddress(). 2020-04-08 16:55:49 +02:00
Bartosz Taudul
a34cfacb5c Stabilize symbol sorting. 2020-04-08 15:55:34 +02:00
Bartosz Taudul
fe98921e4c Add UI for disabling inlines in sample statistics. 2020-04-08 15:52:53 +02:00
Bartosz Taudul
f59f4f266e Add inline symbols list accessor. 2020-04-08 15:34:14 +02:00
Bartosz Taudul
2a06f1545b Store count of proper and inline symbols in trace dump. 2020-04-08 12:52:06 +02:00
Bartosz Taudul
1da1d31e1c Store list of inline symbols. 2020-04-08 12:44:12 +02:00
Bartosz Taudul
a7fffe7e13 Separate opening source and symbol views. 2020-04-08 02:12:09 +02:00
Bartosz Taudul
09cf160088 Split source and symbol views in SourceView. 2020-04-08 01:58:23 +02:00
Bartosz Taudul
1c0ec60b23 Don't try to display assembly line counts if no symbol is selected. 2020-04-08 01:48:22 +02:00
Bartosz Taudul
2ad3f9b51f Index data is already available. 2020-04-05 15:09:13 +02:00
Bartosz Taudul
f1f4f48c38 Perform rate distortion optimization on frame images. 2020-04-05 15:04:18 +02:00
Bartosz Taudul
b19d5731ac Move DXT1 index fixup to texture compression class. 2020-04-05 14:05:43 +02:00
Bartosz Taudul
6d435e08c8 Handle nullptr in FindStringIdx. 2020-04-04 14:42:00 +02:00
Bartosz Taudul
38bfa7bdb6 Include return instructions in jump out list. 2020-04-04 14:30:48 +02:00
Bartosz Taudul
8c260c9d12 Draw jump outs from symbols. 2020-04-04 14:30:47 +02:00
Bartosz Taudul
268af5b67c Adapt to DPI scaling. 2020-04-04 14:30:47 +02:00
Bartosz Taudul
78a0773f38 Collect jumps outside symbol. 2020-04-04 13:51:55 +02:00
Bartosz Taudul
e02e595eec Align jump arrows to pixels. 2020-04-04 13:42:19 +02:00
Bartosz Taudul
aae161e31a Draw jumps in assembly view. 2020-04-04 03:41:10 +02:00
Bartosz Taudul
bda5c1d13e Ignore out-of-symbol jumps. 2020-04-04 03:13:21 +02:00
Bartosz Taudul
f2b044438d Don't print empty text, just advance cursor. 2020-04-04 02:45:01 +02:00
Bartosz Taudul
3711a66592 Calculate jump table. 2020-04-04 02:25:12 +02:00
Bartosz Taudul
b016d9e295 Going from source location to assembly line. 2020-04-02 13:10:18 +02:00
Bartosz Taudul
252e02ba2e One more place where server queue is handled. 2020-04-02 12:15:50 +02:00
Bartosz Taudul
700f189921 Wait for server query queue to drain before terminating. 2020-04-02 12:15:04 +02:00
Bartosz Taudul
562e675a0e Save/load code location data. 2020-04-02 12:12:10 +02:00
Bartosz Taudul
50d9932378 Display number of assembly instructions for each line. 2020-04-02 02:35:41 +02:00
Bartosz Taudul
2b8cf5d132 Add addressess accessor. 2020-04-02 02:17:22 +02:00
Bartosz Taudul
22e9135ab1 Retrieve file name string idx in source view. 2020-04-02 02:15:10 +02:00
Bartosz Taudul
16686739f6 Rebuild string map on trace load. 2020-04-02 02:15:00 +02:00
Bartosz Taudul
e7f4f58886 StringIdx search from string. 2020-04-02 02:08:00 +02:00
Bartosz Taudul
387fdb30b0 Map source location to assembly instructions. 2020-04-02 02:01:58 +02:00
Bartosz Taudul
9f0a6b8231 Make pdqsort always available. 2020-04-02 02:00:21 +02:00
Bartosz Taudul
d3c278cb02 Make source location display optional. 2020-04-02 01:37:56 +02:00
Bartosz Taudul
39cb9f4a32 Display source locations in assembly view. 2020-04-02 01:32:23 +02:00
Bartosz Taudul
b2c2bfc2aa Move HSV color conversion to a separate source file. 2020-04-02 01:04:59 +02:00
Bartosz Taudul
2303f18d39 Add guards to source view header. 2020-04-02 01:02:42 +02:00
Bartosz Taudul
59a49f0698 Jump from assembly to source line. 2020-04-02 00:53:27 +02:00
Bartosz Taudul
327e30fe7c Add source file location tooltip for assembly instructions.
This has bad UX, better solution is needed.
2020-04-02 00:39:17 +02:00
Bartosz Taudul
d204742bb8 Accessor for getting source file, line from address. 2020-04-02 00:31:53 +02:00
Bartosz Taudul
2dd5912fee Cosmetics. 2020-04-02 00:31:41 +02:00
Bartosz Taudul
6392e4d38d Display number of received code locations. 2020-04-02 00:00:46 +02:00
Bartosz Taudul
c8d1f4d3d6 Add code locations size accessor. 2020-04-01 22:38:47 +02:00
Bartosz Taudul
0ec89e9aae Store code address -> source file+line mapping. 2020-04-01 22:37:19 +02:00
Bartosz Taudul
b2a8b53efa Query source location of each assembly instruction. 2020-04-01 21:43:03 +02:00
Bartosz Taudul
9e8089ec1a Improve handling of query queue. 2020-04-01 21:05:25 +02:00
Bartosz Taudul
b6ce693ede Include inline parents when filtering sample statistics. 2020-04-01 13:24:32 +02:00
Bartosz Taudul
0f2095f84a Add missing break. 2020-04-01 13:10:26 +02:00
Bartosz Taudul
57779a8ed9 Cosmetics. 2020-03-31 20:44:44 +02:00
Bartosz Taudul
d08f3a6ea0 Check for samples, not ghost zones. 2020-03-31 02:20:34 +02:00
Bartosz Taudul
b957087456 Add "smart" symbol location to sampled statistics. 2020-03-30 23:58:42 +02:00
Bartosz Taudul
eb48d24182 Store context switch data for threads with ghost zones. 2020-03-30 23:41:21 +02:00
Bartosz Taudul
0ad24f6485 Display graphical representation of line percentage. 2020-03-30 22:49:06 +02:00
Bartosz Taudul
44096dfcf2 Move DrawTextContrast() to TracyImGui.hpp. 2020-03-30 22:39:34 +02:00
Bartosz Taudul
c1ed44bd35 Common percentage printing function. 2020-03-30 22:26:45 +02:00
Bartosz Taudul
11aedf2b27 Proper processing of symbol locations in live capture. 2020-03-30 17:10:59 +02:00
Bartosz Taudul
6fe5d0575f Add parent symbol for inlined symbols in sampled statistics. 2020-03-30 02:50:34 +02:00
Bartosz Taudul
17a5faa5e0 Display parent symbol for inline symbols in source view. 2020-03-30 02:46:29 +02:00
Bartosz Taudul
30771bf7cb Gather failure data before terminating connection. 2020-03-29 23:01:57 +02:00
Bartosz Taudul
48e4d33bea Support call stacks longer than 255 entries. 2020-03-28 18:04:33 +01:00
Bartosz Taudul
d43461584a Don't jump out to symbols without source and code. 2020-03-28 15:11:23 +01:00
Bartosz Taudul
2e1aa844fe Don't try to open invalid files. 2020-03-28 15:06:36 +01:00
Bartosz Taudul
78eb774822 Assembly addresses can be displayed relative to symbol. 2020-03-28 14:42:47 +01:00
Bartosz Taudul
9837e06816 Implement cross-symbol jumping. 2020-03-28 14:27:29 +01:00
Bartosz Taudul
013bb5a4f2 Use generic group categories. 2020-03-28 14:00:21 +01:00
Bartosz Taudul
86aad15e0c Display jump/call target address. 2020-03-28 01:36:51 +01:00
Bartosz Taudul
28db0f6227 Wait for data to be ready. 2020-03-28 01:17:35 +01:00
Bartosz Taudul
8dba099a56 Revert "Base address is not needed."
This reverts commit 058369bc7a.
2020-03-28 00:57:41 +01:00
Bartosz Taudul
22cae56ab1 Decode jump/call addresses. 2020-03-28 00:53:48 +01:00
Bartosz Taudul
fd3b9ca1e5 No need to format string. 2020-03-27 23:59:09 +01:00
Bartosz Taudul
17009b315f Remove unused variable. 2020-03-27 23:59:03 +01:00
Bartosz Taudul
86ca85f39d Initialize variable. 2020-03-27 23:58:49 +01:00
Bartosz Taudul
058369bc7a Base address is not needed. 2020-03-27 23:58:25 +01:00
Bartosz Taudul
5249eb4428 Fix init order. 2020-03-27 23:57:23 +01:00
Bartosz Taudul
5675044443 Display image name, if source file is unknown. 2020-03-27 21:54:40 +01:00
Bartosz Taudul
d065d28244 Allow assembly view in all calls to SetTextEditorFile. 2020-03-27 21:46:57 +01:00
Bartosz Taudul
78ea40d70c Check for asm/source availability in SetTextEditorFile. 2020-03-27 21:46:57 +01:00
Bartosz Taudul
efbf13fcd4 Don't store inlined symbols locations. 2020-03-27 21:16:23 +01:00
Bartosz Taudul
45b8622bc9 Search for base address when if symbol address is inlined. 2020-03-27 21:04:23 +01:00
Bartosz Taudul
31a1517d2f Display disassembly of inlined symbols. 2020-03-27 17:59:41 +01:00
Bartosz Taudul
720ed0460b Differentiate between symbol and base address. 2020-03-27 17:59:16 +01:00
Bartosz Taudul
992f4c8c2d Implement search for symbol base from address. 2020-03-27 17:39:42 +01:00
Bartosz Taudul
4c381e13e9 Store list of symbol locations. 2020-03-27 17:34:51 +01:00
Bartosz Taudul
52a853b26f Don't show invalid contents warning for disassembly. 2020-03-27 17:14:46 +01:00
Bartosz Taudul
a466362938 Use proper function to send terminate query. 2020-03-27 02:02:36 +01:00
Bartosz Taudul
51bae7855d Display number of in-flight queries. 2020-03-27 02:00:26 +01:00
Bartosz Taudul
089681267f Allow viewing assembly without corresponding source code. 2020-03-27 01:47:06 +01:00
Bartosz Taudul
10ca8b5440 Assembly display is not dependant on sample data. 2020-03-27 01:24:50 +01:00
Bartosz Taudul
2a54f2df5d Reverse the fileselector compile option. 2020-03-26 23:11:26 +01:00
Bartosz Taudul
d495431f24 Reverse the root window compile option. 2020-03-26 23:08:29 +01:00
Bartosz Taudul
58bb5d40c5 Remove support for non-extended font builds. 2020-03-26 23:04:44 +01:00
Bartosz Taudul
c098a03d8f Implement listing all symbols. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
e58b9e870e Use explicit data structure to store symbol list data. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
7018caadb9 Add UI for control of displaying all symbols. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
696c351e6a Allow listing symbols, even if no sampling data has been gathered. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
e6b0bfc90d Display "no entries" message in statistics menu, if appropriate. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
ef96ecd9b8 Use shorter descriptions. 2020-03-26 22:09:56 +01:00
Bartosz Taudul
2db117a7ac Disassemble symbols even if source file has not changed. 2020-03-26 02:23:43 +01:00
Bartosz Taudul
3de4283bd2 Display code size in source file view window. 2020-03-26 02:23:09 +01:00
Bartosz Taudul
6a96b5f1dc Use better wording. 2020-03-26 02:18:24 +01:00
Bartosz Taudul
4f417854e5 Display disassembly. 2020-03-26 00:18:38 +01:00
Bartosz Taudul
b091c0d4a8 Hide unknown symbols by default in sample statistics. 2020-03-25 23:44:48 +01:00
Bartosz Taudul
7ac03be43b Fix braino. 2020-03-25 22:50:13 +01:00
Bartosz Taudul
3e134cdce5 Disassemble symbol code fragments. 2020-03-25 22:37:34 +01:00
Bartosz Taudul
79db7f4457 Add symbol code accessor. 2020-03-25 22:15:22 +01:00
Bartosz Taudul
53d0b91f26 CPU architecture accessor. 2020-03-25 22:12:18 +01:00
Bartosz Taudul
39da6c7c19 Store CPU architecture. 2020-03-25 21:48:24 +01:00
Bartosz Taudul
033433b883 Save/load symbol code. 2020-03-25 20:52:59 +01:00
Bartosz Taudul
ce449ac0e2 Notify server that parameter was handled. 2020-03-25 20:37:26 +01:00
Bartosz Taudul
ea507289c6 Add missing query space extensions. 2020-03-25 20:33:50 +01:00
Bartosz Taudul
cda285ceb7 Display notification when queries are backlogged. 2020-03-25 20:25:33 +01:00
Bartosz Taudul
582e46005e Display symbols code size. 2020-03-25 20:08:39 +01:00
Bartosz Taudul
f114ec3f80 Add code transfer from client to server. 2020-03-25 20:04:55 +01:00
Bartosz Taudul
3e0e120222 Add extra parameter to server queries. 2020-03-25 20:04:01 +01:00
Bartosz Taudul
383918bca4 Display symbol size in sampled statistics window. 2020-03-25 18:45:05 +01:00
Bartosz Taudul
bf52883331 Store symbol length in trace dumps. 2020-03-25 18:37:08 +01:00
Bartosz Taudul
c515a53986 Wrapper for reading nine elements at once. 2020-03-25 18:35:48 +01:00
Bartosz Taudul
c999a74d34 Symbol length transfer. 2020-03-25 18:32:36 +01:00