9 Commits

Author SHA1 Message Date
Scott Graham
bd9bc07625 win: Make reading CrashpadInfo work across bitness
R=mark@chromium.org
BUG=crashpad:50

Review URL: https://codereview.chromium.org/1355503005 .
2015-09-22 10:37:11 -07:00
Scott Graham
96f687b567 win: remove unused fields from CrashpadInfo
These were made unnecessary after changing how registration works, but I
forgot to actually delete them from CrashpadInfo.

R=mark@chromium.org
BUG=crashpad:1

Review URL: https://codereview.chromium.org/1357753002 .
2015-09-18 15:19:51 -07:00
Scott Graham
a691448ffb win: Implement exception snapshot
Refactor some of the NT internals helpers and cpu_context to share
between the thread and exception snapshot code.

Add test that runs crashing child and validates the exception in the
snapshot.

R=mark@chromium.org, cpu@chromium.org, rsesek@chromium.org
BUG=crashpad:1

Review URL: https://codereview.chromium.org/1126413008 .
2015-08-18 12:25:19 -07:00
Scott Graham
1a770c8237 Implement more of CrashpadClient on Windows
SetHandler connects to RegistrationServer as a handler,
and catching an exception writes EXCEPTION_POINTERS to
CrashpadInfo.

R=cpu@chromium.org, mark@chromium.org
BUG=crashpad:1

Review URL: https://codereview.chromium.org/1287073002 .
2015-08-14 15:22:09 -07:00
Scott Graham
720882cc14 win: Fix multiple definition at link time for kSignature
I'm not sure why I don't get these locally, but the bots aren't happy:

https://build.chromium.org/p/client.crashpad/builders/crashpad_win_dbg/builds/271/steps/compile%20with%20ninja/logs/stdio

FAILED: E:\b\depot_tools\python276_bin\python.exe gyp-win-tool link-with-manifests environment.x64 True crashpad_snapshot_test_module.dll "E:\b\depot_tools\python276_bin\python.exe gyp-win-tool link-wrapper environment.x64 False link.exe /nologo /IMPLIB:crashpad_snapshot_test_module.dll.lib /DLL /OUT:crashpad_snapshot_test_module.dll @crashpad_snapshot_test_module.dll.rsp" 2 mt.exe rc.exe "obj\snapshot\crashpad_snapshot_test_module.crashpad_snapshot_test_module.dll.intermediate.manifest" obj\snapshot\crashpad_snapshot_test_module.crashpad_snapshot_test_module.dll.generated.manifest
crashpad_client.lib(crashpad_client.crashpad_info.obj) : error LNK2005: "public: static unsigned int const crashpad::CrashpadInfo::kSignature" (?kSignature@CrashpadInfo@crashpad@@2IB) already defined in crashpad_snapshot_test_module.crashpad_info_client_options_test_module.obj

R=mark@chromium.org
BUG=crashpad:1

Review URL: https://codereview.chromium.org/1123643004
2015-05-04 16:02:28 -07:00
Mark Mentovai
4bd97bb6db Document CrashpadInfo::set_simple_annotations().
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1016613003
2015-03-19 18:04:38 -04:00
Mark Mentovai
9b7ff0ea5a Allow exception forwarding to the system’s native crash reporter to be
disabled.

ClientInfo::set_system_crash_reporter_forwarding() can be used to
disable forwarding. The first module that is found with a non-default
value in this field will dictate whether forwarding is enabled or
disabled. It is possible to enable or disable reporting with this call,
as well as reset it to default, which will allow later modules a chance
to influence the behavior.

ClientInfo::set_crashpad_handler_behavior() is also provided, which can
be used to disable Crashpad’s handling of the exception. Most users
should not call this, but should use Settings::SetUploadsEnabled()
instead.

TEST=crashpad_snapshot_test \
         CrashpadInfoClientOptions.*:MachOImageReader.Self_DyldImages; \
     run_with_crashpad --handler crashpad_handler \
         -a --database=/tmp/crashpad_db \
         -a --url=https://clients2.google.com/cr/staging_report \
         -a --annotation=prod=crashpad \
         -a --annotation=ver=0.7.0 \
         crashy_program

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/997713002
2015-03-11 17:07:11 -04:00
Scott Graham
e8ab9afd82 win: Avoid 'warning C4068: unknown pragma'
I could also add COMPILER_CLANG to build_config.h, but that doesn't
appear in Chromium, apparently in preference to using __clang__
directly. I'm not sure if there's any good reason for that.

R=mark@chromium.org
BUG=crashpad:1

Review URL: https://codereview.chromium.org/803283002
2014-12-15 16:01:16 -08:00
Mark Mentovai
b43f510a52 Add crashpad_info, MachOImageAnnotationsReader, and its test.
TEST=snapshot_test MachOImageAnnotationsReader.*
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/651283003
2014-10-17 13:47:02 -04:00