Add a crash-key for CHECK/DCHECK messages |
|||
Issue description[breaking off from issue 601469 ] The CHECK messages end up on the stack but aren't surfaced in the crash/ UI. Siggi made a point that it would be very useful to surface that information there instead of requiring developers to crack open the minidump.
,
Apr 11 2016
They should be on the stack AFAIK (they weren't in the recent DCHECK build but that was intentional and being revisited -- issue 601469 ). Could either be stripped server-side or sent in a crash-key by the client, whichever is easiest. I think Siggi was arguing to do as much work as possible client-side?
,
Apr 11 2016
I meant I wouldn't expect any of those strings to be in an official build either way.
,
Apr 11 2016
From a random sampling of one crash asserting on this line
ATOM ClassRegistrar::RetrieveClassAtom(const ClassInfo& class_info) {
ATOM atom = RegisterClassEx(&window_class);
...
CHECK(atom) << GetLastError();
...
it appears that the check strings are indeed elided from the binary, and do not appear in the crash that I can find.
C:\>c:\src\tools\strings.exe c:\Users\siggi\Downloads\upload_file_minidump-6ef7a01400000000.dmp | findstr /i "atom"
kernel32.dllapi-ms-win-core-atoms-l1-1-0
If we go to the trouble of shipping another DCHECK build on Canary, however, perhaps we should make this happen for that build.
,
Apr 11 2016
CHECK strings should be in all builds; *DCHECK* strings I would not expect to have present in Release builds, unless DCHECK_ALWAYS_ON was set. Scott, it sounds like you're advocating that CHECK only includes the string-to-log in Debug builds, and omits it in Release builds?
,
Apr 11 2016
I don't see any reason to ship a bunch of junk strings to users at all (isn't that the whole point of the crazy logging.h macros?), so I would expect that we don't ship any of those strings in official builds (CHECK or DCHECK). For one-off things it seems like it'd be useful and fine though.
,
Apr 11 2016
No, CHECK strings are not in all builds, they're stipped in official builds (except on Android, sadly).
,
Apr 13 2016
I see, are CHECK_OP strings also striped? I somehow recall using them in WinDBG but it might have been a local build..
,
Apr 13 2016
Yes - official builds implement CHECK_OP via CHECK, which itself just executes a debug break without logging anything.
,
Apr 14 2016
I see then I guess the question is whether we need these strings in a crash key, sounds like they're too heavy to even compile in so I guess not... I'll archive this for now, @siggi feel free to re-open if you have more arguments in favor of doing this.
,
Apr 14 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by scottmg@chromium.org
, Apr 11 2016