From 357c7c7b7bbfa30f88a33bcd589dcd7e0186052f Mon Sep 17 00:00:00 2001 From: Scott Graham Date: Wed, 24 Aug 2016 16:00:10 -0700 Subject: [PATCH] win: Add some explanation of .com/.exe for crashpad_handler R=mark@chromium.org BUG= Change-Id: Iedc42c7a157967c6fc316c04bb0bbb1f97dadf8d Reviewed-on: https://chromium-review.googlesource.com/371963 Reviewed-by: Mark Mentovai --- handler/crashpad_handler.ad | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/handler/crashpad_handler.ad b/handler/crashpad_handler.ad index 41457734..06f62563 100644 --- a/handler/crashpad_handler.ad +++ b/handler/crashpad_handler.ad @@ -60,6 +60,16 @@ well as the client’s process handle for the client to exit cleanly without crashing. When a server started via the *--handshake-handle* mechanism loses all of its clients, it exits after allowing any upload in progress to complete. +On Windows, this executable is built by default as a Windows GUI app, so no +console will appear in normal usage. This is the version that will typically be +used. A second copy is also made with a +.com+ extension, rather than +.exe+. In +this second copy, the PE header is modified to indicate that it's a console app. +This is useful because the +.com+ is found in the path before the +.exe+, so +when run normally from a shell using only the basename (without an explicit ++.com+ or +.exe+ extension), the +.com+ console version will be chosen, and so +stdio will be hooked up as expected to the parent console so that logging output +will be visible. + It is not normally appropriate to invoke this program directly. Usually, it will be invoked by a Crashpad client using the Crashpad client library, or started by another system service. On OS X, arbitrary programs may be run with a Crashpad