What to: Collect Information When Software Crashes

2019-02-18 02:37发布

I notice that a lot of desktop apps ( such as Firefox, Google Chrome, VS 2008 etc) have a crash dump that can be sent to the software vendors for analysis purpose. I am intended to create such a crash dump myself. I am doing .Net

What are the best practices when comes to what data to collect, so that the data collected is just enough to reproduce and fix the bugs, but nothing more?

标签: .net crash
3条回答
SAY GOODBYE
2楼-- · 2019-02-18 03:04

I collect exception name, stack trace and ask customer what he was doing at time of crash. Usually that is enough.

Additionally, you can establish account with Microsoft to get debugging data of your application crashes with their Windows Error Reporting.

查看更多
ら.Afraid
3楼-- · 2019-02-18 03:08

I built a logging system that reports directly into my bug database, and it reports the following information:

  • Non-identifiable information about the computer and runtime environment (like windows version, some regionale settings, amount of memory, cpu-type, etc.)
  • Stack-trace and information about the exception itself
  • Loaded assemblies, version numbers
  • Loaded dll's that aren't assemblies (you newer know when a dll injected by Skype to handle hot-key invocation might mess up your own program)

A form pops up first where the user can review everything that is to be sent, and can optionally identify him/herself + write a description what he/she was doing when the problem occured. If an email is provided, the user will get an email back to track the bug report with.

You should strive to make the process of logging as non-intrusive as possible, and detailed enough that you can at least determine where to start looking.

I'm currently building a logging system that can be enabled for users that experience the same problem multiple times, where the last N items of the log can be attached to the bug report, which contains things like code flow (method calls, returns, exceptions, etc.).

查看更多
走好不送
4楼-- · 2019-02-18 03:26

Why not use the Mini dump framework that Microsoft already provides. I recommend to have a look at the functions MiniDumpCallback and MiniDumpWriteDump that allow an application to augment the mini dump with additional application specific data.

查看更多
登录 后发表回答