1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

792 Commits

Author SHA1 Message Date
Bartosz Taudul 65314e0c90 Set proper SymbolData contents on symbol retrieval error. 2020-06-04 17:46:39 +02:00
Graydon Hoare 28a29d071f only write SysTime::used if fscanf succeeds 2020-06-03 19:54:49 -07:00
Graydon Hoare 93b7b5a8e7 ensure regs is initialized even if cpuid fails 2020-06-03 19:54:48 -07:00
Bartosz Taudul 54eb75b063 Report symbol entry address in inline function discovery. 2020-05-30 15:38:59 +02:00
Bartosz Taudul 2b304581cf Implement transfer of integral values for zones. 2020-05-24 16:13:09 +02:00
Bartosz Taudul 1bcde1f2ff Only one branch. 2020-05-24 13:41:41 +02:00
kudansam 1151ec1328 Fix defines when compiling with -Werror=undef
Some ARM defines fail when compiling with -Werror=undef as they rely on
the missing define mapping to 0.
2020-05-22 15:48:59 +02:00
Thales Sabino c2c234cf5a Fix crash when running Tracy from DLLs
Instantiating Tracy from within a DLL will tie its internal threads life-time to the DLL. Windows does not guarantee
that threads will be alive after the main function. This has implications in the Profiler dtor since will try to perform
some deallocations, however, _memory_deallocate_large will try to get the heap of the current thread which can
be invalid at the point of shutdown causing a crash. Checking the pointer here will won't make TRACE_NO_EXIT
work, but it will prevent the Profiler from crashing.
2020-05-21 14:26:29 +01:00
Bartosz Taudul 4eb78f5c86 Auto-initialize profiler in delayed init scenario. 2020-05-19 13:55:54 +02:00
Bartosz Taudul fad7e72fd4 Harden against uninitialized rpmalloc.
Initialize rpmalloc either by explicitly calling InitRPMallocThread(),
or by forcing initialization of thread local variables block.
2020-05-19 13:51:11 +02:00
Bartosz Taudul 665c6d6699 Don't check for allocation validity.
Will fail anyway right afterwards, if nullptr.
2020-05-16 16:40:25 +02:00
Bartosz Taudul 21c168156c Restrict client to C++11. 2020-05-13 18:15:12 +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 91bb392678 Avoid executing strlen() twice in assert-enabled builds. 2020-05-10 15:55:12 +02:00
txfx 412d252eea Remove extra semicolons at the end of namespaces 2020-05-10 15:32:39 +02:00
Bartosz Taudul a47c7d467f Send x86 processor info in welcome message. 2020-05-06 19:18:17 +02:00
Bartosz Taudul f13413922d Use one cpuid implementation. 2020-05-06 18:52:36 +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
ikrima 707117c04f Build sanitization & Static analysis warning fixes
- Wrapping FORCEINLINE & WIN32_LEAN_AND_MEAN definess with ifndef bc other libraries may define it and trigger redefinition warning
- Possibly contentious given tone in the manual (:P) but removing variable shadowing in TracySysTrace.cpp
  - Alternate Solution: Add #define TRACY_FORCE_SILENT_WARNINGS toggle-able flag. If flag is enabled, push/pop warning disables that have to be included in client code
2020-05-02 14:52:57 -07:00
Bartosz Taudul 14ec246659 Fix typo. 2020-04-24 00:55:57 +02:00
Bartosz Taudul a5bff2f7e5 Sleep to force rescheduling main thread during init.
This fixes problems with first context switch data region possibly not being
available for the main thread, if no rescheduling was performed after sys
tracing has started.
2020-04-14 22:45:32 +02:00
Bartosz Taudul 3b85c51e5f Search for free listen port, if default is occupied. 2020-04-13 21:40:52 +02:00
Bartosz Taudul b389ccbb38 Issue just one read call when handling server queries. 2020-04-13 14:32:31 +02:00
Bartosz Taudul 1bbece649f Implement socket read without exit check. 2020-04-13 14:22:58 +02:00
Bartosz Taudul a2187565d1 Optimize non-native-size memcpy. 2020-04-13 13:45:21 +02:00
Bartosz Taudul b69aaf04e9 Add support for QPC timer. 2020-04-07 22:01:31 +02: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 69c5e667ae Dynamically load Get/SetThreadDescription. 2020-04-07 21:33:03 +02:00
Bartosz Taudul 7fca642c3d Compress full-quality DXT1 on AVX2 path. 2020-04-05 17:10:43 +02:00
Bartosz Taudul a6468b6b6e Sleep when clearing queues if listen port is occupied. 2020-04-04 21:08:13 +02:00
Bartosz Taudul b2a8b53efa Query source location of each assembly instruction. 2020-04-01 21:43:03 +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 9b8eb69886 Apparently sampled call stacks may be empty. 2020-03-28 16:09:44 +01:00
Bartosz Taudul 40281ce2a1 Add default no-op to switch. 2020-03-26 01:07:25 +01:00
Bartosz Taudul add5b29d03 Report CPU architecture in welcome message. 2020-03-25 21:28:02 +01:00
Bartosz Taudul ce449ac0e2 Notify server that parameter was handled. 2020-03-25 20:37:26 +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 c999a74d34 Symbol length transfer. 2020-03-25 18:32:36 +01:00
Bartosz Taudul d47e6819a8 Collect symbol sizes. 2020-03-25 18:28:28 +01:00
Bartosz Taudul 6c0c508280 Ignore kernel-only stacks.
It is common to receive duplicate stack traces for the same timestamp
(and thread), one containing proper user-space stack, and the second one
containing only kernel frames. Discard the second one, as there's no
documentation how this should be interpreted and the kernel stack is
mostly useless.
2020-03-21 15:25:30 +01:00
Bartosz Taudul c7afda2562 Exit processing loops when trace has stopped. 2020-03-10 18:56:49 +01:00