crashtrack (Rust client)
Lightweight Windows crash reporter. Installs an unhandled-exception filter that writes a minidump on crash, and uploads queued dumps to a crashtrack server on the next launch.
Add it
[]
= "0.1"
Use it
use Config;
Get an API key at https://crashtrack.dev (create a project, copy the key from settings).
What it does
- On install: sets
SetUnhandledExceptionFilterand spawns a background thread that scans%LOCALAPPDATA%/<app>/crashtrack/pendingand uploads any queued minidumps from previous crashes. - On crash: the filter calls
MiniDumpWriteDumpand writes the dump to the pending directory, then returnsEXCEPTION_CONTINUE_SEARCHso Windows Error Reporting still runs and the process terminates as normal.
The crash is uploaded the next time the app starts. This is intentional — the network stack is unreliable inside an exception filter.
Tradeoffs
- Self-hosting: the server is open source — point
endpointat your own deployment if you don't want crashes going to crashtrack.dev. - Stack overflow: not covered by
SetUnhandledExceptionFilter. v0.2 will add a vectored exception handler + guard-page recovery for that case. - OOM at crash time: the dump buffer is allocated lazily today. If the crash is from heap exhaustion the dump may fail to write. v0.2 will pre-allocate.
License
MIT