Codechange: Return pair from instead of optional out parameter. (#13166)
[openttd-github.git] / docs / symbol_server.md
blob82d29d04cfb37f91f9e83c06a07af5abe912520a
1 # OpenTTD's Symbol Server
3 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).
5 These symbol files are needed to analyze `crash.dmp` files as attached to issues by users.
6 A `crash.dmp` is created on Windows, Linux, and MacOS when a crash happens.
7 This combined with the `crash.log` should give a pretty good indication what was going on at the moment the game crashed.
9 ## Analyzing a crash.dmp
11 ### MSVC
13 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`.
15 Now simply open up the `crash.dmp`, and start debugging.
17 ### All other platforms
19 The best tool to use is `minidump-stackwalk` as published in the Rust's cargo index:
21 ```bash
22 cargo install --locked minidump-stackwalk
23 ```
25 For how to install Rust, please see [here](https://doc.rust-lang.org/cargo/getting-started/installation.html).
27 Now run the tool like:
29 ```bash
30 minidump-stackwalk <crash.dmp> --symbols-url https://symbols.openttd.org
31 ```
33 For convenience, the above Symbol Server also check with Mozilla's Symbol Server in case any other library but OpenTTD is requested.
34 This means files like `libc`, `kernel32.dll`, etc are all available on the above mentioned Symbol Server.