Normally "cargo install" will use the latest dependencies, but this causes an issue with "dump_syms". Use "--locked" makes sure we use the dependency versions as indicated by "dump_syms", instead of the latest version.
1.3 KiB
OpenTTD's Symbol Server
For all official releases, OpenTTD collects the Breakpad Symbols (SYM-files) and Microsoft's Symbols (PDB-files), and publishes them on our own Symbol Server (https://symbols.openttd.org).
These symbol files are needed to analyze crash.dmp
files as attached to issues by users.
A crash.dmp
is created on Windows, Linux, and MacOS when a crash happens.
This combined with the crash.log
should give a pretty good indication what was going on at the moment the game crashed.
Analyzing a crash.dmp
MSVC
In MSVC you can add the above URL as Symbol Server (and please enable MSVC's for all other libraries), allowing you to analyze crash.dmp
.
Now simply open up the crash.dmp
, and start debugging.
All other platforms
The best tool to use is minidump-stackwalk
as published in the Rust's cargo index:
cargo install --locked minidump-stackwalk
For how to install Rust, please see here.
Now run the tool like:
minidump-stackwalk <crash.dmp> --symbols-url https://symbols.openttd.org
For convenience, the above Symbol Server also check with Mozilla's Symbol Server in case any other library but OpenTTD is requested.
This means files like libc
, kernel32.dll
, etc are all available on the above mentioned Symbol Server.