Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generate pdb files for windows builds #5114

Merged
merged 9 commits into from
Dec 24, 2024
Merged

generate pdb files for windows builds #5114

merged 9 commits into from
Dec 24, 2024

Conversation

myk002
Copy link
Member

@myk002 myk002 commented Dec 21, 2024

so we can retrieve them when debugging player-reported crashes on Windows

Fixes: #4991

This PR also adds a link to the online debug symbols to stderr.log and a new dfhack-status.dat file in the savegame directory.

example contents of the status file:

DF version:  v0.50.15 linux64 STEAM
DFHack version: 50.15-r1.2 (409f60f)
Tagged release: yes
Pre-release:    no
Build url: https://github.com/DFHack/dfhack/actions/runs/12475090213

We normally ask the player for their stderr.log when debugging crashes, so the link will be available even if the player does not have a savegame to share.

Example contents of stderr.log:

DFHack build: 50.15-r1.2-65-g409f60f
Build url: https://github.com/DFHack/dfhack/actions/runs/12475090213
Starting with working directory: /home/myk/.local/share/Steam/steamapps/common/Dwarf Fortress
Binding to SDL.
Identifying DF version.
Loading hack/symbols.xml ... OK
...

The link takes you to the GitHub workflow run results, where you can download the PDBs:
image

@lethosor
Copy link
Member

where are these going to live?

@myk002
Copy link
Member Author

myk002 commented Dec 22, 2024

The idea I had going into this was to package them as an artifact that could be downloaded from GitHub. I was testing to be sure the build worked before I made changes to the workflow files. However, if we have to choose between ccache and pdb files for Windows builds, there needs to be a more serious discussion about cost/benefit of this change.

@myk002 myk002 marked this pull request as draft December 22, 2024 02:04
@myk002 myk002 requested a review from ab9rf December 23, 2024 21:27
@myk002 myk002 marked this pull request as ready for review December 23, 2024 21:27
@myk002
Copy link
Member Author

myk002 commented Dec 24, 2024

So the resulting workflow would be:

  1. Get player-supplied crash and stderr.log OR the player savegame and repro instructions
  2. go to the link in stderr.log or the dfhack-status.dat file in the savegame dir
  3. download PDBs at the link
  4. debug

@myk002
Copy link
Member Author

myk002 commented Dec 24, 2024

Merging so we can test PDB generation for Steam deployments. We can address further comments in follow-up PRs

@myk002 myk002 merged commit dab30e6 into DFHack:develop Dec 24, 2024
14 checks passed
@myk002 myk002 deleted the myk_pdb branch December 24, 2024 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Add PDBs to windows distribution
2 participants