Bartosz Taudul
621c68352b
Call RtlWalkFrameChain directly from inlined function.
2022-01-01 17:33:39 +01:00
Bartosz Taudul
e368266837
Add custom demangler interface.
2021-12-22 18:17:48 +01:00
Lectem
5d0466b729
Rename GetModuleName and call it before sym* use
2021-12-12 14:32:24 +01:00
Lectem
17855cbac5
Call SymLoadModuleEx for modules loaded after init
...
This fixes issue #293 . Symbols are not loaded if the module is loaded dynamically after the SymInitialize call.
This may stall the symbol resolver thread a bit the first time a module is loaded.
2021-12-08 21:30:06 +01:00
Bartosz Taudul
d41447b0c9
Pass full module path to LoadLibraryEx().
2021-11-25 23:27:20 +01:00
Bartosz Taudul
a27d1902ae
Store paths to kernel modules.
2021-11-25 23:27:05 +01:00
Bartosz Taudul
1ed174c1b6
Expose GetModuleName() outside TracyCallstack.cpp.
2021-11-25 21:56:13 +01:00
Bartosz Taudul
cad65ab52f
Handle magic dbghelp line numbers.
...
https://github.com/Microsoft/microsoft-pdb/issues/16
https://docs.microsoft.com/en-us/archive/blogs/jmstall/line-hidden-and-0xfeefee-sequence-points
2021-11-20 17:09:20 +01:00
Bartosz Taudul
af5da6f53c
Move inline string copy helpers to a separate header.
2021-10-22 21:53:46 +02:00
Bartosz Taudul
93b6fd72c3
Keep lock until we're done with the data.
2021-10-21 01:31:03 +02:00
Bartosz Taudul
4348c5428d
Returned strings may be invalidated, so copy them.
2021-10-21 01:30:17 +02:00
Bartosz Taudul
07bc665d8c
Drop support for Cygwin.
2021-10-07 23:28:40 +02:00
Bartosz Taudul
32b1e8dcb0
No kernel symbol on macos.
2021-06-20 19:35:05 +02:00
Bartosz Taudul
c445c3805c
Merge remote-tracking branch 'origin/master' into hw
2021-06-20 11:13:02 +02:00
Andrey Voroshilov
5670493757
Fix compilation warning
2021-06-19 23:26:03 -07:00
Bartosz Taudul
ee13d3fa44
Retrieve address of symbol, not first instruction in line.
2021-06-19 19:52:33 +02:00
Bartosz Taudul
3ce2f6209a
Return symbol address in DecodeCodeAddress().
2021-06-19 19:02:08 +02:00
Bartosz Taudul
7086f2db65
Merge branch 'master' into hw
2021-06-17 01:37:10 +02:00
Bartosz Taudul
fde62b4e6e
Dynamically load some dbghelp functions.
2021-06-17 01:34:45 +02:00
Bartosz Taudul
50e0d4781b
No kernel cache on cygwin.
2021-06-16 00:51:30 +02:00
Bartosz Taudul
f1bf663160
Load kernel symbols.
2021-06-15 21:28:32 +02:00
Bartosz Taudul
2d5f6a411c
Add windows kernel module discovery.
2021-06-15 21:28:32 +02:00
Bartosz Taudul
8fa9860764
Load windows device drivers list.
2021-06-15 21:28:31 +02:00
Bartosz Taudul
bdb11f6e48
Use same kernel module name as on Linux.
2021-06-15 02:31:51 +02:00
Bartosz Taudul
4dc05ab858
Implement retrieval of kernel symbol names.
2021-06-12 15:27:35 +02:00
Bartosz Taudul
f4c95eb021
Load linux kernel symbols list.
2021-06-11 01:31:02 +02:00
Bartosz Taudul
5b7cd06840
Don't init rpmalloc, if we know it has been done already.
2021-06-10 01:48:11 +02:00
Bartosz Taudul
9c2ea8a71f
Specify minimum length of subframe skip in one place.
2021-06-09 02:13:00 +02:00
Bartosz Taudul
e1c3babf43
Check whole ignore list on ARM.
2021-06-09 02:06:28 +02:00
Bartosz Taudul
4fc02f5680
Ignore intrinsic wrappers during code location resolution.
2021-05-24 00:02:44 +02:00
Bartosz Taudul
d7541bbdba
Allow disabling inline resolution on windows.
...
Original commit a6b25497 by xavier <xavierb@gmail.com>:
add TRACY_CALLSTACK_IGNORE_INLINES to tradeoff speed vs precision in win32 DecodeCallstackPtr()
SymQueryInlineTrace() is too slow in some cases:
300000 queries backlog getting processed at ~70 per second is prohibitive.
(without inlines resolution, it's more like ~20000 queries per second)
2021-05-21 22:27:35 +02:00
Bartosz Taudul
3d2ff4ffd1
Add support for user-provided dbghelp locks.
2020-10-28 20:04:37 +01:00
Bartosz Taudul
960c7fb1b9
Don't alias struct names in client and server.
2020-08-20 17:38:29 +02:00
Bartosz Taudul
818d20d273
Don't use image name as a replacement for source file.
...
Image name is now reported separately.
2020-08-18 20:34:11 +02:00
Bartosz Taudul
65314e0c90
Set proper SymbolData contents on symbol retrieval error.
2020-06-04 17:46:39 +02:00
Bartosz Taudul
54eb75b063
Report symbol entry address in inline function discovery.
2020-05-30 15:38:59 +02:00
Bartosz Taudul
91bb392678
Avoid executing strlen() twice in assert-enabled builds.
2020-05-10 15:55:12 +02:00
Rokas Kupstys
04eaf358d0
Fix linking error in some configurations. Unresolved CallTrace symbol was observed in static MSVC RelWithDebInfo build (but not in debug build).
2020-05-05 13:23:46 +03:00
Bartosz Taudul
34b512d04b
Don't declare unused variables on cygwin.
2020-04-07 21:41:12 +02:00
Bartosz Taudul
8d9a611874
Get rid of unicode ifdefs.
2020-04-07 21:35:37 +02:00
Bartosz Taudul
0ba0125eb5
Cosmetics.
2020-04-01 21:42:14 +02:00
Bartosz Taudul
a8e8a4a167
Add code address to function, line decoder.
2020-04-01 21:41:33 +02:00
Bartosz Taudul
36ddd0b98b
Don't use new to allocate memory on the client.
2020-03-28 21:27:19 +01:00
Bartosz Taudul
d47e6819a8
Collect symbol sizes.
2020-03-25 18:28:28 +01:00
Bartosz Taudul
710a2a64e4
Fix copy pasta.
2020-02-27 14:08:56 +01:00
Bartosz Taudul
4346620afa
No need to copy module name.
2020-02-27 13:45:39 +01:00
Bartosz Taudul
fd8a9465d4
Cosmetics.
2020-02-27 13:40:41 +01:00
Bartosz Taudul
9ae71ac4ee
Dl_info doesn't destroy data.
2020-02-27 13:28:45 +01:00
Bartosz Taudul
5f6b3d2cd5
No need for module name intermediate buffer.
2020-02-27 13:24:36 +01:00
Bartosz Taudul
474383b656
Only copy symbol strings, if needed.
2020-02-27 13:17:26 +01:00