Bartosz Taudul
34b80ac52f
Add child samples count getters.
2021-04-18 15:03:42 +02:00
Bartosz Taudul
df462f109d
Reconstruct child sample data.
2021-04-18 15:00:19 +02:00
Bartosz Taudul
4dc6222ba1
Add child samples data structure.
2021-04-18 14:42:35 +02:00
Bartosz Taudul
07996c16cf
Fix gcc 8.3 with LTO.
...
In member function ‘UpdateSampleStatisticsImpl’:
warning: argument 1 value ‘18446744073709551598’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
auto cfdata = (CallstackFrame*)alloca( ( fxsz-1 ) * sizeof( CallstackFrame ) );
^
2021-04-09 01:15:18 +02:00
Bartosz Taudul
8dd92f32af
Handle memory double allocation failure.
2021-03-09 22:19:42 +01:00
Bartosz Taudul
6d5710901c
Fix ZoneColor channel order.
2021-03-09 02:14:57 +01:00
Bartosz Taudul
18e893752b
Use SortedVector for source location zones.
2021-02-07 19:35:53 +01:00
Bartosz Taudul
c220177828
Do postponed work only when needed.
2021-02-07 18:29:29 +01:00
Bartosz Taudul
9bb1d13afa
Revert to non-shared mutex for data lock.
...
The main change here is that the UI will be unresponsive when a trace is being
saved when there's no capture being performed. Note that the UI was always
frozen during saving if the capture was live, due to how starvation is
prevented by the locks.
2021-02-07 18:11:36 +01:00
Bartosz Taudul
417d526581
Use SortedVector for plot data.
2021-02-07 15:52:08 +01:00
Bartosz Taudul
3400331de1
Check source file validity against executable time.
2021-02-06 22:59:07 +01:00
Bartosz Taudul
ad2062fb40
Last-resort source code transfer from client to server.
2021-02-04 00:45:00 +01:00
Bartosz Taudul
f97223e394
Rename ParamPingback to more generic AckServerQueryNoop.
2021-02-04 00:03:58 +01:00
Bartosz Taudul
c4a6f3f980
Save/load GPU context names.
2021-01-31 19:15:23 +01:00
Bartosz Taudul
7bb6114270
Process GPU context name messages.
2021-01-31 19:15:23 +01:00
Bartosz Taudul
8d39f91c6e
Save/load executable image mtime.
2021-01-31 17:51:16 +01:00
Bartosz Taudul
6c728f6d23
Cosmetics.
2021-01-31 17:24:41 +01:00
Bartosz Taudul
c08d591bf3
Use proper capstone include path.
2021-01-26 20:35:57 +01:00
Bartosz Taudul
81c91a87fc
Search in cache before issuing syscall.
2021-01-26 01:47:00 +01:00
Bartosz Taudul
ccf441176b
Merge pull request #168 from jkriegshauser/improve-import
...
Improve chrome import
2021-01-22 14:57:52 +01:00
joshuakr
c96f01956d
PR feedback: write the name into the tracy file
2021-01-21 18:33:59 -08:00
joshuakr
2920f97911
Imported Chrome traces bring over thread names
2021-01-21 17:26:00 -08:00
joshuakr
25a95d99c0
Imported chrome traces show the file name in the title bar
2021-01-21 17:25:53 -08:00
Bartosz Taudul
239a17deb9
Fix typo.
2021-01-22 02:17:12 +01:00
Bartosz Taudul
a4764141c6
Support serial callstacks when processing GPU zones.
2021-01-15 22:11:34 +01:00
Bartosz Taudul
d4c0d4fbb7
Rename CallstackMemory to CallstackSerial.
2021-01-15 20:49:39 +01:00
Bartosz Taudul
c66b2cb536
Process allocated source location GPU zones.
2021-01-15 20:33:45 +01:00
Bartosz Taudul
d827832d4d
Don't operate on short_ptr.
2021-01-15 20:25:07 +01:00
Bartosz Taudul
44020487d2
Keep zone begin implementations together.
2021-01-15 20:20:34 +01:00
Ben Vanik
7dfdad2e02
Adding ZoneColor to set a dynamic color override to an existing zone.
2020-11-27 20:12:24 +01:00
Bartosz Taudul
d0acee2a9a
Add missing default no-op to switch.
2020-11-23 22:58:40 +01:00
Bartosz Taudul
34e208368d
Add missing include.
2020-11-23 22:58:12 +01:00
Bartosz Taudul
de69fc9850
Check if plot data values are finite numbers.
2020-11-23 22:48:55 +01:00
Bartosz Taudul
a2f0f7754d
Fix integer types.
2020-10-02 19:30:01 +02:00
Bartosz Taudul
b6724bec3a
Ports are uint16_t.
2020-10-02 18:51:54 +02:00
Bartosz Taudul
a5e0336936
Add missing server query space updates to failure handling.
2020-09-30 16:48:59 +02:00
Bartosz Taudul
9d392d2c90
Process call stack frames during failure dispatch.
2020-09-30 15:57:14 +02:00
Bartosz Taudul
641649143c
Make symbol queries optional.
2020-09-30 15:49:29 +02:00
Bartosz Taudul
cecc3783a8
Handle single and second string data in failure dispatch.
2020-09-30 15:46:00 +02:00
Bartosz Taudul
3135191e90
Wait for failure callstack to be received.
2020-09-29 18:40:04 +02:00
Bartosz Taudul
d8e653ecb4
Set memory failure callstack.
2020-09-29 18:40:04 +02:00
Bartosz Taudul
98aaca9597
Default-initialize failure data struct.
2020-09-29 18:40:04 +02:00
Bartosz Taudul
44aef7660d
Don't keep two variables to track one thing.
2020-09-29 17:04:41 +02:00
Bartosz Taudul
d5b6befda2
Handle new callstack ordering on server.
2020-09-29 16:59:28 +02:00
Bartosz Taudul
ae14e7a879
Expose custom memory pools in the UI.
2020-09-25 17:51:05 +02:00
Bartosz Taudul
d238c97452
Save/load custom memory types.
2020-09-25 16:39:00 +02:00
Bartosz Taudul
ba4315c286
Store memory name in MemData struct.
2020-09-25 16:36:03 +02:00
Bartosz Taudul
5a6c8b4696
Process named memory allocations.
2020-09-24 01:31:24 +02:00
Bartosz Taudul
d1ea97b474
Prepare for handling multiple memory areas.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
46f0853f1b
Process memory name payload transfer.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
a9ce4f6454
Cosmetics.
2020-09-24 01:31:23 +02:00
Bartosz Taudul
75ae14cd04
Use in-place merge to sort symbol data.
2020-09-07 01:47:11 +02:00
Bartosz Taudul
0f13a02062
Properly terminate symbol inline location data.
...
Previously there was no end value on which iteration would stop in case of
the last-in-the-process-space symbol, which resulted in out-of-bounds read.
Workaround has been added for versions < 0.7.2, but no version bump has been
performed (still at 0.7.1). Having two terminator values at the end of the
list is harmless.
2020-08-20 18:50:20 +02:00
Bartosz Taudul
7cf3b0b004
Workaround issues with sample order.
2020-08-18 21:53:52 +02:00
Bartosz Taudul
5239b706c3
Allow disabling code transfer.
2020-08-16 01:31:54 +02:00
Bartosz Taudul
be0e3b9cc4
Silence memcpy/memset warnings.
2020-08-15 02:14:29 +02:00
Bartosz Taudul
b6feb99e98
Show which symbols are available.
2020-08-13 16:24:09 +02:00
Bartosz Taudul
7a4ecc5417
Store instruction pointers in per-symbol sample data.
2020-08-10 14:52:51 +02:00
Bartosz Taudul
06ac6f4f24
Build per-symbol samples list during live capture.
2020-08-09 21:04:03 +02:00
Bartosz Taudul
3be0a3f628
Vector is not empty here.
2020-08-09 20:46:44 +02:00
Bartosz Taudul
b418c98e63
Add symbol samples accessor.
2020-08-07 19:14:21 +02:00
Bartosz Taudul
aa8b60a824
Calculate per-symbol sample time list.
...
This is for loaded traces. Real time capture will be implemented later.
2020-08-07 19:05:27 +02:00
Bartosz Taudul
87e7cba289
Disable samples limit range until background job is done.
2020-08-07 14:54:00 +02:00
Bartosz Taudul
7e6a41e647
No need for lean alloc srcloc zone begin messages.
2020-07-26 14:35:04 +02:00
Bartosz Taudul
062bb3044f
No need for lean callstack sample message.
2020-07-26 14:28:13 +02:00
Bartosz Taudul
4252cac654
No need for lean callstack alloc message.
2020-07-26 14:25:32 +02:00
Bartosz Taudul
18713de70c
No need for lean frame image message.
2020-07-26 14:23:04 +02:00
Bartosz Taudul
b76726c597
No need for lean callstack, callstack memory messages.
2020-07-26 14:23:03 +02:00
Bartosz Taudul
14a15bf152
Order of lock events is now always well-defined.
2020-07-26 13:54:40 +02:00
Bartosz Taudul
03f46d7228
Custom string data is no longer needed.
2020-07-26 01:47:49 +02:00
Bartosz Taudul
c0b73c248f
Add second single string transfer.
2020-07-26 01:47:49 +02:00
Bartosz Taudul
a7d2ab4d4f
Send single string for lock name.
2020-07-26 01:47:49 +02:00
Bartosz Taudul
e91950f006
Send single string for messages.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
5553761c02
Send single string for zone text and name.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
309a151610
Symbol length no longer has to be packed.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
88685440b6
Send single string for callstack frame.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
61e3acde06
Send single string for callstack frame size.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
e3dfa96055
Extract single string idx retrieval.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
06ca4e2d16
Send single string for symbol information.
2020-07-26 01:35:52 +02:00
Bartosz Taudul
14b180cd16
Send single string for code information.
2020-07-26 01:35:51 +02:00
Bartosz Taudul
81d5a8db5e
Implement transport of single string data.
...
In most cases only one string is sent per message and no pointer
tracking is needed.
This is only plumbing work, no changes to messages have been made yet.
2020-07-26 01:35:51 +02:00
Bartosz Taudul
0704ab8f79
Clear frame image back references when removing fi data.
2020-07-17 22:16:47 +02:00
Bartosz Taudul
e48b5611c5
Save GPU context calibration state.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
21f4981f38
Process GPU calibration on server.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
1b6bc1b69a
Send Vulkan GPU calibration messages.
2020-07-07 21:25:35 +02:00
Bartosz Taudul
1013ec8db7
Drop accuracy bits from GPU context.
2020-07-07 01:21:36 +02:00
Bartosz Taudul
384e2e3fa1
Reduce memory requirements of allocated call stacks.
2020-07-05 17:33:29 +02:00
Bartosz Taudul
763f5aafdd
Attach pending frame images only to the main frame set.
2020-06-30 00:53:26 +02:00
Dmitry Ivanov
9fa80c2cc8
Import chrome metrics
2020-06-21 13:45:41 +02:00
Bartosz Taudul
d1e17de7c2
Allow import of plots.
2020-06-20 15:30:06 +02:00
Bartosz Taudul
7a6141389c
Replace floating point condition with a bool.
2020-06-16 01:46:26 +02:00
Bartosz Taudul
dd05c8f524
Fix fixup of ghost zones end times.
2020-06-15 17:41:00 +02:00
Bartosz Taudul
71359c46c1
Drop support for loading pre-0.6.0 traces.
2020-06-14 15:52:52 +02:00
Bartosz Taudul
2723144678
Don't create empty ghost children vectors.
2020-06-11 12:27:17 +02:00
Bartosz Taudul
99544f4655
Clamp previous ghost zones to current sample time.
2020-06-11 12:18:44 +02:00
Bartosz Taudul
e932cbe162
Add missing OpenCL mentions.
2020-06-09 18:17:43 +02:00
Andrew Depke
3282a8d27c
Added server support for D3D12 contexts
2020-06-07 00:40:08 -06:00
Bartosz Taudul
9e500bc897
Handle merging inlined ghost zones.
2020-05-31 21:47:52 +02:00
Bartosz Taudul
994b88f898
Ghost index is only available is statistics are enabled.
2020-05-31 15:24:11 +02:00
Bartosz Taudul
067189c355
Extract ghost zone adding to a separate function.
2020-05-31 14:51:33 +02:00
Bartosz Taudul
d9e97ce772
Add postponed ghost zones when frame data becomes available.
2020-05-31 14:31:39 +02:00
Bartosz Taudul
1154343a20
Don't add ghost zones if full callstack data isn't available.
2020-05-31 14:17:54 +02:00
Bartosz Taudul
de5f8df9d3
UpdateSampleStatistics() returns if all samples were processed.
...
This effectively is a check if all frames in a callstack are available.
2020-05-31 14:05:16 +02:00
Bartosz Taudul
54a029356d
Explicitly store GPU context type.
2020-05-27 18:16:53 +02:00
Bartosz Taudul
7ceb4005cd
Don't use alloca in inlined functions inside a loop.
2020-05-24 16:17:54 +02:00
Bartosz Taudul
2b304581cf
Implement transfer of integral values for zones.
2020-05-24 16:13:09 +02:00
Bartosz Taudul
45a9878193
Don't depend on zero-termination of source code.
2020-05-23 17:07:23 +02:00
Bartosz Taudul
18b2e3e5be
Don't depend on View in Worker.
2020-05-23 15:53:58 +02:00
Bartosz Taudul
2f35c785ee
Save/load cached source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
dc0f2db3f2
CheckString() doesn't check if string query is still pending.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
d470202bca
Cached source files accessor.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
964d65fd3b
Cache callstack/symbol/code source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
f7341141cf
Cache zone source location source files.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
97a5957adc
Display source file cache stats.
2020-05-23 15:44:19 +02:00
Bartosz Taudul
ae1155852a
Source file cache plumbing.
2020-05-23 15:44:18 +02:00
Bartosz Taudul
f38464cf55
Rename SymbolCodeData to MemoryBlock.
2020-05-23 14:54:16 +02:00
Bartosz Taudul
670a292416
Report whether string is available, or if a query was dispatched.
2020-05-23 13:08:57 +02:00
Bartosz Taudul
c8ff8540f9
Sleep when connection attempt fails.
2020-05-14 02:27:57 +02:00
Bartosz Taudul
8e11cd5ebb
Add support for custom text in ImportEventTimeline.
2020-05-12 11:44:36 +02:00
Bartosz Taudul
e9f93f5bc7
Send lean frame images.
2020-05-10 20:16:08 +02:00
Bartosz Taudul
03b5dfacd6
Send lean callstack samples.
2020-05-10 20:00:51 +02:00
Bartosz Taudul
09388f3c99
Send lean callstack allocs.
2020-05-10 19:56:36 +02:00
Bartosz Taudul
5a774c82cc
Send lean callstacks.
2020-05-10 19:43:12 +02:00
Bartosz Taudul
f0ade07be8
Send lean memory callstacks.
2020-05-10 19:28:08 +02:00
Bartosz Taudul
2dc07fca0b
Send lean allocated source locations.
2020-05-10 19:20:59 +02:00
Bartosz Taudul
2f8e817e16
Make PackPointer() part of worker's interface.
2020-05-10 16:56:13 +02:00
Bartosz Taudul
8b56dd5468
Prevent division by zero.
2020-05-08 01:55:03 +02:00
Bartosz Taudul
6fda74e281
Save/load cpu id.
2020-05-06 19:18:17 +02:00
Rokas Kupstys
e40f0c4f2e
Fix MinGW build.
2020-05-05 13:23:46 +03:00
Bartosz Taudul
b74caae685
Handle ending a zone twice.
2020-04-30 19:05:13 +02:00
Bartosz Taudul
035bb2236d
Always preserve order of queries.
2020-04-30 02:25:25 +02:00
Bartosz Taudul
8fa0a4dc9e
Update mbps data block after terminating connection.
2020-04-29 02:36:38 +02:00
Bartosz Taudul
865593146a
Fix skipping symbol code.
2020-04-19 23:34:34 +02:00
Bartosz Taudul
db9557fc84
Use separate texture compression context for saving traces.
2020-04-14 20:07:30 +02:00
Bartosz Taudul
c2dd3913d7
Cleanup context switch data.
2020-04-14 02:34:28 +02:00
Bartosz Taudul
9fc76990e1
Copy proper amount of memory.
2020-04-14 02:22:48 +02:00
Bartosz Taudul
c54dc10464
Cleanup zone children vectors.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
02e1a7669c
Add offset-less GetSymbolForAddress().
2020-04-08 16:55:49 +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
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
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
2b8cf5d132
Add addressess accessor.
2020-04-02 02:17:22 +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
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
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
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
eb48d24182
Store context switch data for threads with ghost zones.
2020-03-30 23:41:21 +02:00
Bartosz Taudul
11aedf2b27
Proper processing of symbol locations in live capture.
2020-03-30 17:10:59 +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
efbf13fcd4
Don't store inlined symbols locations.
2020-03-27 21:16:23 +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
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
7ac03be43b
Fix braino.
2020-03-25 22:50:13 +01:00
Bartosz Taudul
79db7f4457
Add symbol code accessor.
2020-03-25 22:15:22 +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
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
bf52883331
Store symbol length in trace dumps.
2020-03-25 18:37:08 +01:00
Bartosz Taudul
c999a74d34
Symbol length transfer.
2020-03-25 18:32:36 +01:00
Bartosz Taudul
2417f63bf2
Build instruction pointers map when loading trace.
2020-03-25 01:56:13 +01:00
Bartosz Taudul
c603eaa1b6
Add symbol instruction pointers map accessor.
2020-03-25 01:08:29 +01:00
Bartosz Taudul
4068ab30e8
Build sampled instruction pointers map for symbols.
2020-03-24 23:54:30 +01:00
Bartosz Taudul
4ae13ff3dd
Build ghost frame data during live capture.
2020-03-21 18:26:42 +01:00
Bartosz Taudul
d2a53b79d7
Don't check if vector is empty, if we're sure it's not.
2020-03-21 17:59:09 +01:00
Bartosz Taudul
8a81d2210c
Non-consecutive stack samples are no longer present.
2020-03-21 15:28:34 +01:00
Bartosz Taudul
92e2597192
Fix ghost children times.
2020-03-19 00:35:18 +01:00
Bartosz Taudul
1f4dbd1b2e
Parallelize background jobs.
2020-03-19 00:35:18 +01:00
Bartosz Taudul
a48e804e96
Don't reconstruct mem alloc plot in no-statistics builds.
2020-03-19 00:35:18 +01:00
Bartosz Taudul
eb5f7a27e7
Match ghost zones by symbol address.
2020-03-16 23:05:07 +01:00
Bartosz Taudul
b89874850f
Pack frame identifiers in ghost zones.
2020-03-16 23:05:07 +01:00
Bartosz Taudul
452341059b
Build ghost zones tree.
2020-03-16 23:05:06 +01:00
Bartosz Taudul
377ed48416
Don't over-reserve map.
2020-03-16 23:05:06 +01:00
Bartosz Taudul
4631d884d6
Cleanup samples vector.
2020-03-10 21:46:24 +01:00
Bartosz Taudul
e7240cb77d
Custom lock name transfer.
2020-03-08 13:47:38 +01:00
Bartosz Taudul
50123298a7
Unify texture compression implementations.
2020-03-02 02:08:14 +01:00
Bartosz Taudul
aa0bf47ec3
Extract texture compression functionality.
2020-03-02 02:00:35 +01:00
Bartosz Taudul
c36ed4b8b8
Boring warning fixes.
2020-03-01 01:48:20 +01:00
Bartosz Taudul
e93b574c5d
Fill-in missing image name.
2020-03-01 01:27:21 +01:00
Bartosz Taudul
83316f1299
Fix pointer fixup.
2020-02-29 23:40:21 +01:00
Bartosz Taudul
d1ff99d6e3
Callstack frame map must not be touched by statistics.
2020-02-29 19:49:33 +01:00
Bartosz Taudul
8d5755521e
Fix no statistics build.
2020-02-29 19:31:51 +01:00
Bartosz Taudul
39361f71a1
Allow GetSymbolStats() to fail gracefully.
2020-02-29 18:59:01 +01:00