File: symbol_server.md

package info (click to toggle)
openttd 14.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 54,840 kB
  • sloc: cpp: 286,269; ansic: 16,810; awk: 217; javascript: 86; makefile: 43; sh: 28; xml: 27
file content (34 lines) | stat: -rw-r--r-- 1,369 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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:

```bash
cargo install --locked minidump-stackwalk
```

For how to install Rust, please see [here](https://doc.rust-lang.org/cargo/getting-started/installation.html).

Now run the tool like:

```bash
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.