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 TaudulandTom Atkinson 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