1115 Commits

Author SHA1 Message Date
Scott Graham
1407b21d69 Pool TypeName strings when writing MINIDUMP_HANDLE_DESCRIPTOR
Follow up to TODO in https://codereview.chromium.org/1419623003/.

R=mark@chromium.org
BUG=crashpad:21, crashpad:52

Review URL: https://codereview.chromium.org/1411793005 .
2015-10-21 13:25:48 -07:00
Scott Graham
fe49473b3d Fix mac after https://codereview.chromium.org/1419623003/
L"" and wstring are a bit of a mess cross-platform, so just store the
type name as UTF8 instead.

R=mark@chromium.org
BUG=crashpad:21, crashpad:52

Review URL: https://codereview.chromium.org/1421473005 .
2015-10-21 11:39:53 -07:00
Scott Graham
3261edd997 Write MINIDUMP_HANDLE_DATA_STREAM to minidump
R=mark@chromium.org
BUG=crashpad:21, crashpad:52

Review URL: https://codereview.chromium.org/1419623003 .
2015-10-21 10:43:42 -07:00
Mark Mentovai
3ac40a54d0 doc: Add generate_git.sh, which updates the checked-in generated docs
BUG=crashpad:67
R=agable@chromium.org

Review URL: https://codereview.chromium.org/1399623002 .
2015-10-21 13:22:51 -04:00
Mark Mentovai
af8c7fcbee Add a README for the App Engine app with notes for maintaining it
R=andybons@chromium.org

Review URL: https://codereview.chromium.org/1416833003 .
2015-10-21 11:20:10 -04:00
Mark Mentovai
0ed0106aa4 Add /bug redirects to the home page AppEngine app
/bug/ redirects to the Crashpad project on Monorail. /bug/new redirects
to the “new issue” screen, and /bug/123 redirects to the named bug.

R=andybons@chromium.org

Review URL: https://codereview.chromium.org/1415063002 .
2015-10-21 09:42:29 -04:00
Mark Mentovai
6c0d42ce9d Mach port scopers should use get() instead of type conversion operators
In https://codereview.chromium.org/1411523006, the Mach port scopers are
becoming better ScopedGenerics and are losing the type conversion
operators in the process. This is needed to adapt to that change. get()
is ugly, but being explicit about conversion isn’t a bad thing, and
these scopers will gain functionality such as Pass() as part of the
switch.

As a bonus, some would-be uses of get() to check for valid port rights
are becoming a more descriptive is_valid().

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1405273002 .
2015-10-20 11:03:25 -04:00
Mark Mentovai
53ccd8fc5e doc/developing.ad: replace removed backslash
Having two ~s in one block confused doc generation.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1413203002 .
2015-10-19 17:17:09 -04:00
Mark Mentovai
d075a9eb2e win: Add and use GET_FUNCTION() and GET_FUNCTION_REQUIRED()
These wrap the GetProcAddress(LoadLibrary(), …) idiom into macros that
are much less wordy.

TEST=crashpad_util_test GetFunction.GetFunction and all others
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1405323003 .
2015-10-19 14:32:07 -04:00
Mark Mentovai
2adcd13fd6 Update developer documentation to recommend the “fetch” tool
“fetch crashpad“ is possible since depot_tools ea1b3d5ed88b.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1408133003 .
2015-10-19 13:51:52 -04:00
Mark Mentovai
1818dbbb08 win: Fix crashpad_util_test ProcessInfo.Handles
This new test from 7de04b02f85d was failing on Windows 10. I started by
adding the hint, which produced “CreateFileMapping: Access is denied.
(0x5)”. Switching the “Global\” to “Local\” fixes the test for me.

TEST=crashpad_util_test ProcessInfo.Handles
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1407993003 .
2015-10-19 13:40:50 -04:00
Mark Mentovai
07dbc3259c Use an even better random number generation scheme in the prune test
base::RandInt(0, max - 1) has a uniform distribution.
base::RandUint64() % max does not.

TEST=crashpad_client_test PruneCrashReports.PruneOrder
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1417443002 .
2015-10-19 11:43:58 -04:00
Scott Graham
30678f1e82 Fix Mac build after https://codereview.chromium.org/1407643004
Oops.

R=mark@chromium.org
BUG=crashpad:21, crashpad:52

Review URL: https://codereview.chromium.org/1409823003 .
2015-10-16 16:33:40 -07:00
Scott Graham
4600643a78 Some plumbing for the beginning of getting handles into snapshot/minidump
Follows https://codereview.chromium.org/1400413002/.

R=mark@chromium.org
BUG=crashpad:21, crashpad:46, crashpad:52

Review URL: https://codereview.chromium.org/1407643004 .
2015-10-16 15:58:40 -07:00
Scott Graham
7de04b02f8 win: Add Handles() to ProcessInfo
To eventually be used to fill out MINIDUMP_HANDLE_DESCRIPTOR.

R=mark@chromium.org
BUG=crashpad:21, crashpad:46, crashpad:52

Review URL: https://codereview.chromium.org/1400413002 .
2015-10-16 15:31:32 -07:00
Scott Graham
d1e49bd221 Fix CRITICAL_SECTION test
I thought I had confirmed that this still allocated and ignored the flag
on older OSs, but I must have not had the PLOG active yet? I'm not sure
what I did. (I might try to blame VMware as it has an annoying habit of
caching old binaries when you use it's "Shared Folders" feature to point
at the dev machine's build dir.)

I confirmed that it does work on Win8 and Win10 but doesn't on Win XP
and Win 7.

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

Review URL: https://codereview.chromium.org/1405243002 .
2015-10-16 14:55:14 -07:00
Scott Graham
71cc0a28a4 Add flush to output to try to diagnose locks failure
end_to_end_test.py started failing after landing
https://codereview.chromium.org/1392093003/ but I'm not sure why. It
seems
https://build.chromium.org/p/client.crashpad/builders/crashpad_win_x64_dbg/builds/45/steps/run%20tests/logs/stdio
to be aborting in a place that doesn't make much sense, so try adding
flushes to see if there's output getting lost.

R=mark@chromium.org

Review URL: https://codereview.chromium.org/1410633002 .
2015-10-15 15:03:18 -07:00
Scott Graham
4893a9b76d win: Capture some CRITICAL_SECTION debugging data
Capture the memory for the loader lock (can be inspected by !cs), as
well as all locks that were created with .DebugInfo which can be viewed
with !locks.

e.g.

0:000> !cs ntdll!LdrpLoaderLock
-----------------------------------------
Critical section   = 0x778d6410 (ntdll!LdrpLoaderLock+0x0)
DebugInfo          = 0x778d6b6c
NOT LOCKED
LockSemaphore      = 0x0
SpinCount          = 0x04000000

0:000> !locks -v

CritSec ntdll!RtlpProcessHeapsListLock+0 at 778d7620
LockCount          NOT LOCKED
RecursionCount     0
OwningThread       0
EntryCount         0
ContentionCount    0

CritSec +7a0248 at 007a0248
LockCount          NOT LOCKED
RecursionCount     0
OwningThread       0
EntryCount         0
ContentionCount    0

CritSec crashy_program!g_critical_section_with_debug_info+0 at 01342c48
LockCount          NOT LOCKED
RecursionCount     0
OwningThread       0
EntryCount         0
ContentionCount    0

CritSec crashy_program!crashpad::`anonymous namespace'::g_test_critical_section+0 at 01342be0
WaiterWoken        No
LockCount          0
RecursionCount     1
OwningThread       34b8
EntryCount         0
ContentionCount    0
*** Locked

Scanned 4 critical sections

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

Review URL: https://codereview.chromium.org/1392093003 .
2015-10-15 13:18:08 -07:00
Robert Sesek
1f1a24cb51 Declare the random number generator lambda for std::random_shuffle as a local.
When not building against the C++11 library headers, the compiler cannot
treat the lambda as lvalue. When building against the C++11 library headers, it
is converted to an rvalue.

BUG=chromium:542321
R=mark@chromium.org

Review URL: https://codereview.chromium.org/1406733003 .
2015-10-14 16:56:04 -07:00
Mark Mentovai
f059c21048 Update mini_chromium to c9625ad5d23c25fbb477e7dbb4c1c8b9a9360f41
c9625ad5d23c Update base/numerics/* and base/template_util.h

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1407603002 .
2015-10-13 13:19:19 -07:00
Scott Graham
019a0cec8b win: Write memory map info as MINIDUMP_MEMORY_INFO[_LIST]
Makes !vprot work in windbg, e.g.

0:000> !vprot 0x970000
BaseAddress:       00970000
AllocationBase:    00970000
AllocationProtect: 00000004  PAGE_READWRITE
RegionSize:        00001000
State:             00001000  MEM_COMMIT
Protect:           00000001  PAGE_NOACCESS
Type:              00020000  MEM_PRIVATE

...

0:000> !vprot 0x97a000
BaseAddress:       0097a000
AllocationBase:    00970000
AllocationProtect: 00000004  PAGE_READWRITE
RegionSize:        00001000
State:             00001000  MEM_COMMIT
Protect:           00000140  PAGE_EXECUTE_READWRITE + PAGE_GUARD
Type:              00020000  MEM_PRIVATE

Follows https://codereview.chromium.org/1377133006.

R=mark@chromium.org
BUG=crashpad:20, crashpad:46

Review URL: https://codereview.chromium.org/1379873005 .
2015-10-13 13:15:44 -07:00
Scott Graham
937d3d710c Mostly-boilerplate to add MemoryMapSnapshot
Follows https://codereview.chromium.org/1375313005.

Adds MINIDUMP_MEMORY_INFO for non-win in dbghelp.h.

R=mark@chromium.org
BUG=crashpad:20, crashpad:46

Review URL: https://codereview.chromium.org/1377133006 .
2015-10-13 12:37:44 -07:00
Scott Graham
4212d3e4ad make cdb test using SYSTEMROOT case-insensitive
R=mark@chromium.org
BUG=crashpad:46

Review URL: https://codereview.chromium.org/1390913008 .
2015-10-09 16:50:14 -07:00
Scott Graham
c3f4e2d8eb Ensure _NT_SYMBOL_PATH is set for bot runs in cdb test
Getting closer... Some tests passed on the last run, but the ones that
rely on having ntdll symbols fail on the bot. With `_NT_SYMBOL_PATH`
set, cdb will be able to download the PDBs so will be able to dump
data for `ntdll!_PEB`, etc.

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

Review URL: https://codereview.chromium.org/1402643002 .
2015-10-09 16:28:19 -07:00
Scott Graham
d7ee79cb36 Fix path to binary dir in cdb test
Oops, was passing the out dir (...\crashpad\out), not the binary dir
(...\crashpad\out\Debug). Didn't notice because I was running the
script directly, rather than via run_tests.py. :/

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

Review URL: https://codereview.chromium.org/1394343005 .
2015-10-09 14:43:11 -07:00
Scott Graham
52238122e9 Fix for cdb tests
There's a problem running crashpad_handler, but I'm not sure what it is.
I think an exception is getting swallowed because my handling of
`handler` was incorrect, so correctly initialize that to see the
exception.

https://build.chromium.org/p/client.crashpad/builders/crashpad_win_x64_rel/builds/36/steps/run%20tests/logs/stdio
"""
UnboundLocalError: local variable 'handler' referenced before assignment
"""

(I also realized the !locks code hasn't landed yet so disable those tests
for now too.)

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

Review URL: https://codereview.chromium.org/1391023006 .
2015-10-09 13:59:35 -07:00
Scott Graham
bbd00c3a91 win: Test some basic ! windbg commands
R=mark@chromium.org
BUG=crashpad:20, crashpad:46, crashpad:52

Review URL: https://codereview.chromium.org/1397833004 .
2015-10-09 13:39:39 -07:00
Andrew Bonventre
a2740b23a2 Add app engine app to mirror html docs from chromium.googlesource.com
BUG=crashpad:67
R=mark@chromium.org, rsesek@chromium.org

Review URL: https://codereview.chromium.org/1393353002 .

Patch from Andrew Bonventre <andybons@chromium.org>.
2015-10-09 15:59:32 -04:00
Mark Mentovai
2bee026ca1 doc: Use relative links in generated index.html when possible
BUG=crashpad:67

Review URL: https://codereview.chromium.org/1397173002 .
2015-10-09 15:50:38 -04:00
Scott Graham
fd40ebbc72 win: stub of end-to-end test
I'd like to write some `expect(1)`-style tests (possibly using
http://pexpect.readthedocs.org/en/stable/) to verify that various windbg
commands that I'm adding support for do actually work when consuming
minidumps in real life.

For the moment, this is just the beginnings of a stub as I don't know if
bots even have windbg/cdb installed.

R=mark@chromium.org
BUG=crashpad:20, crashpad:46, crashpad:52

Review URL: https://codereview.chromium.org/1396943002 .
2015-10-08 21:09:40 -07:00
Mark Mentovai
075eb0c60c doc: Update absolute links to point to their new homes
BUG=crashpad:67
R=andybons@chromium.org, rsesek@chromium.org

Review URL: https://codereview.chromium.org/1389333006 .
2015-10-08 15:56:01 -04:00
Mark Mentovai
25571f864e doc/support/generate.sh: Remove extra copy of doc/index.html
BUG=crashpad:67
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1390353004 .
2015-10-08 15:16:33 -04:00
Mark Mentovai
3e5e5b570a Add doc/support/generate.sh
This script populates doc/generated. This directory is named in
.gitignore on the master branch, but will not be ignored on the doc
branch. The plan is to merge master into doc and run this script to
generate and check in a new set of generated docs.

BUG=crashpad:67
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1397683003 .
2015-10-08 14:38:10 -04:00
Mark Mentovai
553a643475 crashpad_database_util: Don’t create a database unless explicitly asked
I’ve accidentally created Crashpad databases when running
crashpad_database_util by mistyping the argument to --database. Typical
users of crashpad_database_util probably don’t want the database to be
created.

This adds a new --create option to crashpad_database_util that is
required to get it to create a database. If not present, a database will
not be created if it does not already exist.

TEST=crashpad_client_test CrashReportDatabaseTest.*
R=rsesek@chromium.org, scottmg@chromium.org

Review URL: https://codereview.chromium.org/1395653002 .
2015-10-08 13:10:02 -04:00
Robert Sesek
efe97b8600 Fix Windows build after f32ca63a91d9db18cc9751dd42ca015534d24afb.
BUG=crashpad:22
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1397603002 .
2015-10-07 17:31:27 -04:00
Robert Sesek
f32ca63a91 Add functionality to prune old crash reports from the database.
BUG=crashpad:22
R=mark@chromium.org

Review URL: https://codereview.chromium.org/1392653002 .
2015-10-07 17:01:47 -04:00
Mark Mentovai
0884d4d3a8 Don’t log an error when creating a new crash report database
Previously, any attempt to create a new crash report database would
result in this message being logged:

[p:t:yyyymmdd,hhmmss.uuuuuu:ERROR file_io.cc:30] read: expected 40,
observed 0

This would be the first thing that a developer embedding Crashpad into
their application would see after getting everything right. It doesn’t
exactly seem like everything’s right with that being logged. It would
also be the first thing that a user would see on stderr or in logs upon
launching a Crashpad-enabled application, which also seems kind of
dodgy.

The crash report database settings creation logic is restructured to
avoid logging this error when definitely creating a new database, while
retaining all other error logging.

BUG=crashpad:63
TEST=crashpad_database_util --database $new_db --show-client-id
     (should not show any errors)

R=rsesek@chromium.org, scottmg@chromium.org

Review URL: https://codereview.chromium.org/1392953002 .
2015-10-07 16:20:29 -04:00
Mark Mentovai
9fdb70738b mac: 10.11 SDK compatibility
This doesn’t really provide compatibility, it just ignores the
deprecation warning for +[NSURLConnection
sendSynchronousRequest:returningResponse:error:].

The suggested replacement, NSURLSession, was new in 10.9, and this code
needs to run on 10.6, so it’s not usable here, at least not without a
runtime check.

BUG=crashpad:65
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1395673002 .
2015-10-07 16:16:53 -04:00
Scott Graham
d3bdb23ffe Use MEMORY_BASIC_INFORMATION64 rather than a custom MemoryInfo
We already use all the shared constants for page protection and type,
so rather than making various incompatible structures, just use
the MEMORY_BASIC_INFORMATION64 one directly, so that it can be directly
used.

R=mark@chromium.org
BUG=crashpad:20, crashpad:46

Review URL: https://codereview.chromium.org/1375313005 .
2015-10-07 12:23:08 -07:00
Mark Mentovai
1f11ddc785 win: Set last-upload-attempt time in CrashReportDatabaseWin
This resolves some left-behind TODOs referring to a closed bug. It looks
like this should have worked since dfaa25af4929.

BUG=crashpad:13
TEST=crashpad_snapshot_test CrashReportDatabaseTest.*
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1391993002 .
2015-10-07 14:00:42 -04:00
Mark Mentovai
78592537bc Add non-logging OpenFileForWrite() and OpenFileForReadAndWrite()
BUG=crashpad:63
TEST=crashpad_util_test FileIO.*OpenFileFor*
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1395543002 .
2015-10-07 11:40:02 -04:00
Mark Mentovai
2d8a0498ab Add FileWriteMode::kCreateOrFail
BUG=crashpad:63
TEST=crashpad_util_test FileIO.OpenFileForWrite
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1390023002 .
2015-10-07 08:20:55 -04:00
Mark Mentovai
5f7eda87a6 mac: Don’t leak send rights from ExceptionPorts::GetExceptionPorts()
ExceptionPorts::GetExceptionPorts() returned a
std::vector<ExceptionPorts::ExceptionHandler>, which contained send
rights to Mach ports. The interface required callers to assume ownership
of each send right contained within the vector. This was cumbersome and
error-prone, and despite the care taken in Crashpad, port right leaks
did occur:

 - SimulateCrash() didn’t make any attempt to release these resources at
   all.
 - Neither did crashpad_util_test ExceptionPorts.HostExceptionPorts,
   which also reused a vector.

This replaces the vector with the interface-compatible (as far as
necessary) ExceptionPorts::ExceptionHandlerVector, which deallocates
collected port rights on destruction or clear().

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1381023007 .
2015-10-06 16:14:29 -04:00
Mark Mentovai
08e5e10167 mac: Add --use-system-default-handler option to crashpad_handler
This is a weird option that causes crashpad_handler to discard the crash
handler it inherited and replace it with the system default. Its use is
not recommended.

BUG=chromium:538373
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1391463002 .
2015-10-06 14:15:18 -04:00
Mark Mentovai
c95b30464a mac: Make UseSystemDefaultHandler() clear handlers on failure
If the task’s exception handler for EXC_CRASH, EXC_RESOURCE, and
EXC_GUARD exceptions cannot be set, clear the handler instead.

Nothing considered this function’s return value, and the only viable
fallback action on failure would have been to do what the function now
does, so its return type is changed to void.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1386943002 .
2015-10-05 17:12:04 -04:00
Mark Mentovai
ca2925e2a0 mac: Revise incorrect comments about EXC_RESOURCE and EXC_GUARD
launchd actually does set the EXC_RESOURCE and EXC_GUARD handlers
exactly the same way that it sets the EXC_CRASH handler. See 10.9.5
launchd-842.92.1/src/core.c job_setup_exception_port().

Cases where an EXC_CRASH handler is set but EXC_RESOURCE and EXC_GUARD
handlers are not set occur when the exception ports are set by
/usr/bin/login instead of launchd. login looks up the
exception-reporting service by name and sets the exception port without
including EXC_MASK_RESOURCE or EXC_MASK_GUARD in the mask. See 10.10.5
system_cmds-643.30.1/login.tproj/login.c main().

login is a setuid executable, so it does not inherit its parent process’
exception handlers. See 10.10.5 xnu-2782.40.9/osfmk/kern/ipc_tt.c
ipc_task_reset().

Terminal.app executes login when establishing its command-line
environment, so the exception handlers set for Terminal.app itself
(including EXC_MASK_CRASH, EXC_MASK_RESOURCE, and EXC_MASK_GUARD) are
discarded, and then login sets an exception handler only for
EXC_MASK_CRASH. The same thing occurs for any other process descended
from login, including SSH sessions, because sshd executes login.

This is a bug in login filed as Apple radar 22978644. This bug led to a
misunderstanding about the use of EXC_RESOURCE and EXC_GUARD. Comments
that discuss this behavior are now reworded to be accurate, and
non-fatal EXC_RESOURCE exceptions are made eligible for forwarding to
the user ReportCrash (because it would normally handle them in the
absence of Crashpad) while Crashpad itself will still skip processing
them.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1391453002 .
2015-10-05 17:09:45 -04:00
Mark Mentovai
bb13efbda7 Add and use scoped-right-returning wrappers for Mach bootstrap routines
This wraps bootstrap_check_in() in BootstrapCheckIn(), and
bootstrap_look_up() in BootstrapLookUp(). The wrappers make it more
difficult to accidentally leak a returned right. They’re easier to use,
encapsulating common error checking and logging, simplifying all call
sites.

TEST=crashpad_util_test MachExtensions.BootstrapCheckInAndLookUp
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1383283003 .
2015-10-05 17:07:15 -04:00
Mark Mentovai
cd85c9f700 mac: Add CrashpadClient::UseSystemDefaultHandler()
Chrome’s relauncher process needs a way to sever ties with the
crashpad_handler instance running from the disk image in order to cause
that instance to exit so that the disk image may be unmounted. This new
function is otherwise not thought to be interesting, and its use is not
recommended.

This comes with a small refactoring to create a
SystemCrashReporterHandler() function, and a fix for a minor port leak
in CrashReportExceptionHandler::CatchMachException().

BUG=chromium:538373
R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1375573005 .
2015-10-02 14:40:38 -04:00
Scott Graham
ccd5ec6404 MEM_RESERVE regions are not accessible by ReadProcessMemory()
Sadly this code did not survive a collision with the real world. In
probing for the environment block there's a MEM_COMMIT region followed
directly by a MEM_RESERVE region (past the end of the environment
block).

Update region checker to correctly treat MEM_RESERVE as inaccessible.

R=mark@chromium.org
BUG=crashpad:20, crashpad:46, crashpad:59

Review URL: https://codereview.chromium.org/1370063005 .
2015-10-01 15:28:40 -07:00
Scott Graham
23ab86bc19 win: Add more memory regions to gathering of PEB
Previously:

0:000> !peb
PEB at 7f374000
    InheritedAddressSpace:    No
    ReadImageFileExecOptions: No
    BeingDebugged:            No
    ImageBaseAddress:         01380000
    Ldr                       77ec8b40
    *** unable to read Ldr table at 77ec8b40
    SubSystemData:     00000000
    ProcessHeap:       00740000
    ProcessParameters: 007414e0
    CurrentDirectory:  '< Name not readable >'
    WindowTitle:  '< Name not readable >'
    ImageFile:    '< Name not readable >'
    CommandLine:  '< Name not readable >'
    DllPath:      '< Name not readable >'
    Environment:  00000000
       Unable to read Environment string.

Now:

0:000> !peb
PEB at 7f494000
    InheritedAddressSpace:    No
    ReadImageFileExecOptions: No
    BeingDebugged:            No
    ImageBaseAddress:         00ef0000
    Ldr                       77ec8b40
    Ldr.Initialized:          Yes
    Ldr.InInitializationOrderModuleList: 01042b68 . 01043c68
    Ldr.InLoadOrderModuleList:           01042c38 . 01043c58
    Ldr.InMemoryOrderModuleList:         01042c40 . 01043c60
            Base TimeStamp                     Module
          ef0000 5609bd17 Sep 28 15:20:07 2015 d:\src\crashpad\crashpad\out\debug\crashy_program.exe
        77dc0000 55c599e1 Aug 07 22:55:45 2015 C:\Windows\SYSTEM32\ntdll.dll
        758e0000 559f3b21 Jul 09 20:25:21 2015 C:\Windows\SYSTEM32\KERNEL32.DLL
        76850000 559f3b2a Jul 09 20:25:30 2015 C:\Windows\SYSTEM32\KERNELBASE.dll
    SubSystemData:     00000000
    ProcessHeap:       01040000
    ProcessParameters: 01041520
    CurrentDirectory:  'd:\src\crashpad\crashpad\'
    WindowTitle:  'out\debug\crashy_program.exe  \\.\pipe\stuff'
    ImageFile:    'd:\src\crashpad\crashpad\out\debug\crashy_program.exe'
    CommandLine:  'out\debug\crashy_program.exe  \\.\pipe\stuff'
    DllPath:      '< Name not readable >'
    Environment:  010405c8
        =D:=d:\src\crashpad\crashpad
        =ExitCode=C0000005
        ALLUSERSPROFILE=C:\ProgramData
        APPDATA=C:\Users\scott\AppData\Roaming
        CommonProgramFiles=C:\Program Files (x86)\Common Files
        CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
...

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

Review URL: https://codereview.chromium.org/1360863006 .
2015-10-01 15:24:12 -07:00