I'm looking for a cross-platform crash handler. Google Breakpad looks promising, but it is sorely lacking any documentation, and requires a reasonable amount of fiddling to actually get going.
What is a better alternative?
All I need is the ability to reliably record crash dumps, stack traces, and CPU information at the time of a crash. Alternatively, what is the experience using Google Breakpad? Has it been great or horrible?
Well, it turns out that google-breakpad is pretty nice after all. It's not totally easy to set up, but it's OK for what I need.
I wrote a article about dumping the stack in C/C++ with Windows and Unix/Linux at DDJ some years ago. It does not use a coredump, but it writes stack frames into a log file, on internal errors, or when the OS determines a Application fault.
Maybe it helps you:
For compiled code, there are two good options - core dumps under UNIX variants and Dr. Watson crash logs/dumps under Windows. I know that this isn't a cross-platform solution, but when if you are only dealing with two platforms, then having two solutions isn't really that bad of a thing.
Of course, the solutions only capture a core image at the time of crash and not the state of the machine. I don't know of anything that will capture IO and CPU load at the time of an application crash. You might want to look into the Mozilla Crash Reporter which is, oddly enough, also known as "Breakpad"... coincidence?
来源:https://stackoverflow.com/questions/1367110/cross-platform-crash-handler