Commit Graph

41 Commits

Author SHA1 Message Date
Clément Grégoire
7437c41514 Escape provided addr2line tool path 2026-06-06 14:47:24 +02:00
Clément Grégoire
7cb98245ce Batch addr2line invocations by command-line length
The fixed batches of 1024 addresses could overflow the platform's command-line limit (`La ligne de commande est trop longue.` from cmd.exe on Windows, whose limit is ~8191 characters). Build each batch by appending addresses until a length budget is reached instead. A single conservative budget of 8000 stays under the smallest limit on every platform, and keeps batches in the same ballpark as before (several hundred addresses per invocation).
2026-06-05 19:10:19 +02:00
Clément Grégoire
55d5436fb9 Add option to reset callstack frame symbols to the unresolved state
The new `-R` option of tracy-update sets every callstack frame back to `[unresolved]` / `[unknown]`. Since failed lookups leave frames untouched and the image-relative offset in `symAddr` survives patching, this makes it possible to chain several resolution passes over the same capture, each with different `-p` path substitutions (e.g. one pass per symbol directory).
2026-06-05 19:03:35 +02:00
Clément Grégoire
2b11785b05 Allow offline symbol resolution with any addr2line-compatible tool
The addr2line backend of tracy-update now builds on every platform, including Windows, and can be pointed at any addr2line-compatible executable:

- `-a`: path to a custom symbol resolution tool (e.g. `llvm-addr2line` or a cross-compilation toolchain's `addr2line`). Works on all platforms and takes precedence over the platform default (DbgHelp on Windows, the `addr2line` found in `PATH` elsewhere). Path-like values are validated up front so a wrong path fails with an actionable message instead of a cryptic, localized shell error.
- `-A`: extra arguments passed verbatim to the tool, e.g. `--relative-address` so `llvm-addr2line`/`llvm-symbolizer` accept the image-relative offsets Tracy records for images with a non-zero preferred base (PE, Mach-O).
- `-v`: verbose output while patching symbols.
2026-06-05 19:03:35 +02:00
Bartosz Taudul
fddbb5d990 Print tracy version in all tools. 2026-03-28 21:38:47 +01:00
Alex Gunnarson
dffa18378b Update IMAGEHLP_LINE to IMAGEHLP_LINE64
OfflineSymbolResolverDbgHelper.cpp uses IMAGEHLP_LINE but
SymGetLineFromAddr64 expects IMAGEHLP_LINE64. On 64-bit Windows these are typedef'd to the same thing, but on 32-bit they're different.
2025-12-17 15:19:00 -07:00
Bartosz Taudul
ea661d0765 Cosmetics. 2025-07-18 00:19:09 +02:00
Oleg Bogdanov
84cbf46cc5 relax regex match in symbolication substitution
See discussion https://github.com/wolfpld/tracy/issues/1075
2025-06-18 18:50:05 -07:00
Oleg Bogdanov
1fa69045a3 Fixing typo in log statement of symbolication 2025-06-18 14:10:15 -07:00
Clément Grégoire
f02c6fe4d5 Batch addr2line calls per 1024 addresses and escape paths
addr2line starts failing when given too many addresses to resolve.
Batching per 1024 addresses allows not only to see progress but also fixes resolution for images with high number of addresses to resolve.
Escaping is also required when image paths have spaces for example.
2025-04-14 15:39:26 +02:00
Bartosz Taudul
c5dc5f4455 Bump zstd to 1.5.7, use CPM to download. 2025-02-19 23:47:37 +01:00
Bartosz Taudul
abf12f79c5 Set the default save config also in tracy-update. 2024-06-02 17:29:21 +02:00
Bartosz Taudul
095df5f416 Expose streams in tracy-update. 2024-06-02 14:32:32 +02:00
Bartosz Taudul
9dea830f98 Move file compression enum out of FileWrite. 2024-05-31 19:24:32 +02:00
Bartosz Taudul
07c6e12dbf Measure load and save time separately in tracy-update. 2024-05-31 17:43:13 +02:00
Bartosz Taudul
aac38a7deb Update CI.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-22 13:49:08 +01:00
Bartosz Taudul
28636b076b Add missing colon. 2023-12-21 14:38:06 +01:00
Tiago Rodrigues
de6e7d2fc3 move the symbol resolving functionality to the update application instead of creating a new one 2023-11-24 20:48:39 -05:00
Bartosz Taudul
be392a76fb Move TracyVersion.hpp to common. 2022-08-27 16:05:36 +02:00
Bartosz Taudul
8532c2d1e0 Expose source file scan in update utility. 2022-03-30 16:08:20 +02:00
Bartosz Taudul
07bc665d8c Drop support for Cygwin. 2021-10-07 23:28:40 +02:00
Bartosz Taudul
3d75bf653a Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
Bartosz Taudul
cc63b6492f Allow stripping data from captures. 2020-07-17 22:06:15 +02:00
Bartosz Taudul
08c70cd6fe Use getopt in the update utility. 2020-07-17 21:47:51 +02:00
Simonas Kazlauskas
b03da81afa Fix build on macos
It was broken by a110b42011.

In addition, adjust the CI definition to test builds on macOS.
2020-06-20 20:44:55 +03:00
Bartosz Taudul
1492536bdb Handle FileReadError. 2020-02-12 19:53:37 +01:00
Bartosz Taudul
817e052457 Expose zstd in update utility. 2020-02-08 16:14:43 +01:00
Bartosz Taudul
642fd1e8da Display update utility elapsed time. 2020-02-08 13:35:36 +01:00
Bartosz Taudul
4c7f698946 Display compression ratio in update utility. 2020-02-08 13:18:42 +01:00
Bartosz Taudul
8d7299fe1f Get 64-bit file size. 2019-11-02 22:11:40 +01:00
Bartosz Taudul
599fa17e4f Expose extreme compression level in update utility. 2019-09-29 21:03:08 +02:00
Bartosz Taudul
2470936050 Don't perform background tasks during trace upgrade. 2019-09-29 20:52:25 +02:00
Bartosz Taudul
947eb56f3d Add loading/saving messages to update utility. 2019-09-29 20:48:18 +02:00
Bartosz Taudul
154c902e03 Handle legacy file versions. 2019-08-12 12:36:37 +02:00
Bartosz Taudul
737738ac73 Wait for source location zones in update tool.
Not really an issue, as it is build without full fledged statistics.
2019-03-13 01:28:42 +01:00
Bartosz Taudul
d4fb6fde2b Fix printf type. 2019-02-17 00:29:01 +01:00
Bartosz Taudul
d49b005900 Display dump file size change in the update utility. 2018-12-30 23:47:43 +01:00
Bartosz Taudul
a5b99b54c8 Allow specifying FileWrite compression level.
Note that extreme compression level is not exposed in the update
utility.

% time update.exe long.tracy out.tracy
long.tracy (0.3.201) -> out.tracy (0.3.204)
update.exe long.tracy   0,00s user 0,00s system 0% cpu 13,464 total
% time update.exe --hc long.tracy outhc.tracy
long.tracy (0.3.201) -> outhc.tracy (0.3.204)
update.exe --hc long.trac  0,00s user 0,00s system 0% cpu 3:46,23 total
% ls -l long.tracy out*
-rw-r--r-- 1 wolf Brak 1621546031 07-30 22:51 long.tracy
-rw-r--r-- 1 wolf Brak 1621579467 08-26 16:44 out.tracy
-rw-r--r-- 1 wolf Brak 1397610127 08-26 16:48 outhc.tracy
2018-08-26 16:49:27 +02:00
Bartosz Taudul
39fd3b3a6f Add optional high compression mode to update utility. 2018-08-26 16:28:46 +02:00
Bartosz Taudul
821be252d5 Display trace update summary. 2018-07-29 15:37:45 +02:00
Bartosz Taudul
d68297ba45 Add trace update utility.
This tool will load a trace saved in previous version of tracy and save
an up-to-date version of the file.
2018-07-08 16:53:31 +02:00