Commit Graph

200 Commits

Author SHA1 Message Date
Bartosz Taudul
7d813ec2c1
Merge pull request #733 from Razakhel/fix-clang-pedantic-windows
Added preprocessor checks for Clang on Windows
2024-03-05 18:07:03 +01:00
Bartosz Taudul
4226f7888e
Manually allocate and free s_di_known.
Otherwise destructor will be called when main() returns while symbol
retrieval may still want to actively use the vector.
2024-02-26 23:03:37 +01:00
Bartosz Taudul
133d52a6dd
Make external name retrieval high priority. 2024-02-25 15:13:29 +01:00
Razakhel
cef21ef035 Added preprocessor checks for Clang on Windows
- MSVC-specific code is used in some places and compiled only if _MSC_VER is set; however, Clang under Windows also defines this, which reports errors on this non-standard code if the -pedantic-errors compiler flag is set
2024-02-21 22:54:44 +01:00
David Briscoe
7d8432bbec Cast thread id to uint32_t
Fix MSVC Warning C4244: 'argument': conversion from 'uint64_t' to
'uint32_t', possible loss of data

We only store 32 bit thread ids in ThreadNameData.

Trying to follow existing style instead of static_cast.
2024-02-16 16:29:36 -08:00
Bartosz Taudul
bf76f57716
Add formatted variants for ZoneText and ZoneName. 2024-02-11 16:24:37 +01:00
Bartosz Taudul
c03884d20c
Add TracyNoop macro. 2024-02-09 14:51:25 +01:00
Bartosz Taudul
5037742ab0
Fix file access race condition. 2024-02-07 17:14:31 +01:00
Bartosz Taudul
312713b83c
Free allocated memory in case of read failure. 2024-02-07 17:14:04 +01:00
Gedalia Pasternak
4ebbd15894 add win32 fix. 2024-01-24 11:27:08 -05:00
Gedalia Pasternak
9515a824fd This change makes the crash handler only install when tracy is connected.
This avoids the issue that an end user has their own crash handler which
gets ignored when tracy is on even if there is nothing to capture the crash.
2024-01-24 09:25:57 -05:00
Robert Osfield
d62428c482
Moved methods into public scope and add GetQueryPool() method to enable use of the VkCtx directly rather than just from VkCtxScope (#695) 2023-12-23 00:54:18 +01:00
Bartosz Taudul
e7b9bffbbd
Rename TRACE_CLIENT_LIBUNWIND_BACKTRACE to TRACY_LIBUNWIND_BACKTRACE. 2023-12-21 14:07:44 +01:00
Bartosz Taudul
e9911ab127
Fix includes. 2023-12-20 13:16:51 +01:00
Bartosz Taudul
0f794ed3b4
Cosmetics. 2023-12-20 13:15:42 +01:00
Bartosz Taudul
c39b7af4b3
Proper spelling of dbghelp. 2023-12-20 13:14:06 +01:00
Bartosz Taudul
cc3cbfe6f2
No need for indirection of ImageEntry vector. 2023-12-12 19:27:53 +01:00
Bartosz Taudul
5decb91cd0
Don't clear image cache on refresh. 2023-12-12 19:23:27 +01:00
Bartosz Taudul
7fc7935359
Cosmetics. 2023-12-12 19:09:41 +01:00
Bartosz Taudul
073e04e967
Remove redundant include. 2023-12-12 19:04:43 +01:00
Alex
9921b74e6d -documentation
-erro message
2023-12-11 16:21:19 -08:00
Alex
1e6f877777 -add tracy client address flag 2023-12-11 15:16:41 -08:00
trodrigues
ab1ec3f01c make sure we always copy the image name in ImageCache 2023-12-09 19:12:53 -06:00
trodrigues
15f1b6b0b4 make a copy of dli_fname after calling dladdr. Call ImageCache destructor. 2023-12-09 09:40:07 -06:00
trodrigues
8503f32b36 fix typos and compilation warnings 2023-12-09 09:37:14 -06:00
trodrigues
e80e1d2484 fix line endings 2023-12-06 12:29:26 -06:00
Tiago Rodrigues
8dfc5fe41f re-apply diff 2023-12-06 12:39:52 -05:00
Tiago Rodrigues
38559172bb checkout elf.cpp as it looks like line ending were screwed up 2023-12-06 12:37:53 -05:00
Tiago Rodrigues
24b6c649d3 fix typo 2023-12-06 12:32:37 -05:00
trodrigues
b835d73590 Add support for libbacktrace to detect new elfs have been dynamically loaded after backtrace_initialize() has been called, and consider them for symbol resolution 2023-12-05 20:09:11 -06:00
trodrigues
55f53b9979 remove option to enable image cache, use it for TRACY_HAS_CALLSTACK == 3 to obtain image path and addreses instead of dladdr() 2023-12-05 20:01:12 -06:00
trodrigues
a618b6e6f8 simplify return from tracy::FastVector iterator 2023-12-03 08:36:54 -06:00
Tiago Rodrigues
a9d039e081 move under the tracy namespace, remove commented out code 2023-12-03 09:23:03 -05:00
Tiago Rodrigues
132419dba3 Add image cache to avoid calling dladdr() when doing offline symbol resolution. This cache can also be used in the runtime symbol resolution case to detect we should recreate "backtrace_state" when new images have been loaded 2023-11-29 13:23:58 -05:00
Tiago Rodrigues
a1ca8dd06a fixes according to review comments 2023-11-24 16:32:45 -05:00
trodrigues
301c9fb720 revert #ifdef of a lot of code by TRACY_SYMBOL_OFFLINE_RESOLVE, it now only force enables the offline symbol resolving codepath. 2023-11-19 06:32:17 -08:00
Tiago Rodrigues
79618c5a1a Add support for using defining TRACY_SYMBOL_OFFLINE_RESOLVE to enable only the offline symbol resolving codepath 2023-11-19 06:32:17 -08:00
Tiago Rodrigues
c302b509fe fix formatting 2023-11-19 06:32:17 -08:00
Tiago Rodrigues
f4f75eac64 Add support for offline symbol resolving by setting the "TRACY_SYMBOL_OFFLINE_RESOLVE=1" env var
- Add a tool "tracy-edit" that allows loading a tracy capture, patching symbols and recompress the result
- Add offline symbol resolvers for linux (using addr2line) and windows (using dbghelper)
2023-11-19 06:32:16 -08:00
Damien Mabin
37f886dba4
Fix compilation on 32 bit android 2023-11-15 13:28:37 +02:00
Tiago Rodrigues
c373647dae fix coding style 2023-11-13 13:43:03 -05:00
trodrigues
2988d0a136 rename libunwind option and add it to cmake 2023-11-10 16:17:39 -06:00
Tiago Rodrigues
95cb3e1f5a Add "TRACY_NO_SYS_TRACE" env var to allow force disabling system trace even if the underlying system supports it 2023-11-10 17:02:47 -05:00
Tiago Rodrigues
790d28911d Add env var "TRACY_NO_DBHELP_INIT_LOAD" to allow disabling dbghelp loading of DeviceDriver and ProcessModules at startup 2023-11-10 17:02:03 -05:00
Tiago Rodrigues
4c94b3eff7 Add support to use libunwind for backtrace capturing on linux platforms (which is ~ 4x faster than execinfo) 2023-11-10 17:00:39 -05:00
Bartosz Taudul
0b21b2f3b4
Merge pull request #649 from michaeldleslie/support_qnx
Add basic QNX support
2023-10-30 23:44:58 +01:00
Ivan Molodetskikh
852a1a5f14 Add TracyIsStarted
When using TRACY_MANUAL_LIFETIME, calling most Tracy functions
before starting the profiler results in an assertion. Notably, even
TracyIsConnected is affected. There is, however, no function to check if
the profiler had already started. This commit adds such a function.
2023-10-25 14:56:29 +04:00
Michael Leslie
8263bfb829 clean up indentation 2023-10-24 17:44:46 -07:00
Michael Leslie
daba5ae1d8 add qnx support for instrumentation profiling only 2023-10-24 17:40:13 -07:00
Ivan Molodetskikh
41fc293043 Add GpuTimeSync event
Allows to resynchronise GPU and CPU timestamps during profiling.
2023-10-22 10:16:41 +04:00