Skip to content

Document the rearchitected Windows crash reporter - #339

Open
bobbyg603 wants to merge 1 commit into
masterfrom
docs/windows-crash-reporter-theming
Open

bobbyg603 wants to merge 1 commit into
masterfrom
docs/windows-crash-reporter-theming

Conversation

@bobbyg603

Copy link
Copy Markdown
Member

The Windows crash dialog moved out of BugSplatMonitor.exe into its own process, BugSplatReporter.exe, and its templates and art moved out of the resource-only BugSplatRc.dll into theme/theme.json and theme/strings.en-US.json, both read at run time. BugSplatRc.dll no longer exists. Before this PR, BugSplatReporter, theme.json and strings.en-US.json appeared nowhere in the docs, and every Windows redistributable file list was wrong.

New

Page Why
cplusplus/how-the-windows-crash-reporter-works.md The monitor/reporter split, what each of the four shipped binaries does, and a text diagram of a crash end to end. Also covers what happens when the reporter is missing, quiet mode vs autoCloseSeconds, and Xbox/GDK.

Rewritten

Page Why
education/how-tos/customize-the-crash-dialog.md Was eleven lines telling customers to rebuild BugSplatRc.dll in Visual Studio. Now covers theme.json (palette, type, layout, features), swapping the logo, editing strings.en-US.json, adding a language, --preview, and why a change might not take effect. Its broken-reference macOS link now points at the real macOS section.
education/faq/common-end-user-questions/what-is-bssndrpt-exe.md End users now see BugSplatReporter.exe, not BsSndRpt.exe. Retitled and rewritten to cover the current binaries, keeping BsSndRpt.exe as the legacy name so the page still answers the old search. Its broken-reference is fixed. File name deliberately unchanged so existing links and the GitBook URL still resolve — no redirect needed.

Corrected

Page Why
cplusplus/README.md Redistributable list, installer step, VC++ runtime list and the Crash Dialog section all named BugSplatRc.dll and omitted BugSplatReporter.exe.
cplusplus/bugsplat-for-windows-upgrade-guide.md Claimed the monitor displays the dialog and uploads. Installer file list rewritten as an add/remove table, with a prominent warning that omitting BugSplatReporter.exe silently drops the dialog while reports keep uploading.
desktop/windows-dot-net-framework.md Told customers to ship BsSndRpt.exe + BugSplatRc.dll and to "edit BugSplatRc.dll with Visual Studio".
education/faq/localized-support-responses-...md Documented the removed MiniDmpSender API and its L"es-ES" constructor argument. Replaced with SetKey / BugSplat_SetKey, and separated the support-response key from crash dialog localization, which now follows the end user's Windows UI language automatically.
SUMMARY.md New page, and the retitled FAQ entry.

Please check before merging

  • dependencies.md is stale and I left it alone. It lists Info-ZIP, which is no longer present in bugsplat-windows (Miniz-Cpp is), and omits WTL, ATGTK, MultipartEncoder and Miniz-Cpp. I could verify the licences from the submodules' own licence files but not the version numbers, and this is a legal page — it needs an owner rather than my best guess.
  • .NET Framework redistributable list. That legacy bundle isn't in the SDK workspace, so I couldn't confirm whether it was rebuilt against the new reporter. I removed the actively-wrong "edit BugSplatRc.dll with Visual Studio" instruction and made the file list generic, then added a hint pointing at the current four-file list. Someone who can open that download should tighten it.
  • Screenshots show the old dialog on brand-guidelines.md, what-is-a-crash-reporter.md, common-end-user-questions/README.md and the MyConsoleCrasher quickstart. Out of scope here; new art is a design deliverable.
  • Sample crash data in web-services/crash.md and web-services/api/crash.md lists BugSplatRc.dll as a loaded module. It's captured output from a real old report, so I left it as historical sample data.
  • Two broken-reference links remain in what-should-i-do-if-i-get-a-bugsplat.md and my-software-just-crashed...md. Unrelated to this change, so not touched.

Per instructions, the theme editor in bugsplat-web-app is not documented, and no tier or pricing is claimed for theme customization.

🤖 Generated with Claude Code

https://claude.ai/code/session_012TcytFo66Y3YigCEzWRgKR

The Windows crash dialog moved out of BugSplatMonitor.exe into its own
process, BugSplatReporter.exe, and its templates and art moved out of the
resource-only BugSplatRc.dll into theme/theme.json and
theme/strings.en-US.json, both read at run time. BugSplatRc.dll no longer
exists. The docs still described the old world throughout.

New pages:

* How the Windows Crash Reporter Works - the monitor/reporter split, what
  each of the four shipped binaries does, and a crash end to end.

Rewritten:

* Crash Dialog Branding - was eleven lines telling customers to rebuild
  BugSplatRc.dll in Visual Studio. Now covers theme.json (palette, type,
  layout, features), swapping the logo, editing strings.en-US.json, adding
  a language, --preview, and why a change might not take effect. Also
  replaces the macOS broken-reference with a real link.
* What is BsSndRpt.exe? - end users now see BugSplatReporter.exe. Retitled
  and rewritten to cover the current binaries, with BsSndRpt.exe kept as
  the legacy name. File name unchanged so existing links still resolve.

Corrected:

* BugSplat for Windows (C++) - redistributable list, installer step, VC++
  runtime list and Crash Dialog section.
* BugSplat for Windows Upgrade Guide - the monitor no longer shows the
  dialog; installer file list rewritten as an add/remove table with a
  prominent warning that omitting BugSplatReporter.exe silently drops the
  dialog while reports keep uploading.
* .NET Framework - dropped "edit BugSplatRc.dll with Visual Studio", and
  flagged that the legacy bundle differs from the current Windows SDKs.
* Localized Support Responses - replaced the removed MiniDmpSender API and
  its L"es-ES" constructor argument with SetKey / BugSplat_SetKey, and
  separated the support-response key from crash dialog localization, which
  now follows the end user's Windows UI language automatically.
* SUMMARY.md - new page and the retitled FAQ entry.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012TcytFo66Y3YigCEzWRgKR
Copilot AI lite review requested due to automatic review settings September 7, 2026 11:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Documentation updates are consistent with the described Windows reporter split and the modified pages do not contain remaining broken-reference placeholders.

Pull request overview

Updates the documentation to reflect the rearchitected Windows crash reporting pipeline, where the crash dialog and upload flow moved into BugSplatReporter.exe and theming/localization moved from a resource DLL to runtime JSON files.

Changes:

  • Adds new architecture documentation for the Windows monitor/reporter split and end-to-end crash flow.
  • Rewrites crash dialog customization guidance to use theme/theme.json + theme/strings.en-US.json instead of rebuilding BugSplatRc.dll.
  • Corrects Windows (C++ and legacy .NET Framework) redistributable file lists and updates end-user FAQ wording to match the current binaries.
File summaries
File Description
SUMMARY.md Adds the new Windows crash reporter architecture page and retitles the end-user FAQ entry while keeping the same URL.
introduction/getting-started/integrations/desktop/windows-dot-net-framework.md Adds a warning about legacy bundle vs. current four-file Windows runtime; updates branding link text.
introduction/getting-started/integrations/desktop/cplusplus/README.md Updates shipped file list to include BugSplatReporter.exe and documents the optional theme folder.
introduction/getting-started/integrations/desktop/cplusplus/how-the-windows-crash-reporter-works.md New page documenting the four binaries, monitor/reporter split, and runtime theming/localization behavior.
introduction/getting-started/integrations/desktop/cplusplus/bugsplat-for-windows-upgrade-guide.md Updates upgrade guidance and installer file list to add BugSplatReporter.exe and remove BugSplatRc.dll.
education/how-tos/customize-the-crash-dialog.md Replaces the old resource-DLL workflow with detailed JSON-based theming + strings customization guidance.
education/faq/localized-support-responses-for-windows-c++-.net-and-macos.md Updates to the current SetKey / BugSplat_SetKey API and clarifies support response vs dialog localization.
education/faq/common-end-user-questions/what-is-bssndrpt-exe.md Retitles/rewrites the end-user explanation to reflect BugSplatReporter.exe while preserving the legacy filename.
Review details
  • Files reviewed: 8/8 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


{% hint style="info" %}
**This is about the support message, not the dialog's own text.** The words on the Windows crash dialog itself — labels, buttons, body copy — come from `theme\strings.<bcp47>.json`, and `BugSplatReporter.exe` picks the file matching the end user's own Windows UI language with no configuration at all. The key described below is a separate thing: it is a value **you** choose and set in code, and it selects which support response your database returns. See [Crash Dialog Branding](../how-tos/customize-the-crash-dialog.md#adding-a-language) for translating the dialog.
{% endhint %} The Support Response feature is currently supported by our [Windows C++](../../introduction/getting-started/integrations/desktop/cplusplus/), [.NET Framework](../../introduction/getting-started/integrations/desktop/windows-dot-net-framework.md), and [macOS](../../introduction/getting-started/integrations/desktop/macos.md) integrations and support for other platforms is coming soon. The following steps will allow you to create a localized Support Response message for all crashes in your database. These same steps can be applied to create localized [stack key specific Support Response](../../introduction/production/setting-up-custom-support-responses.md#creating-a-crash-specific-support-response) messages as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants