Руслан Ижбулатов
025a346728
W32: Add a simple exception handler
...
Install a Vectored Exception Handler[0]. Its sole purpose is to catch
some exceptions (access violations, stack overflows, illegal
instructions and debug breaks - by default, but it can be made to catch
any exception for which a code is known) and run a debugger in response.
This allows W32 glib applications to be run without a debugger,
but at the same time allows a debugger to be attached in case
something happens.
The debugger is run with a new console, unless an environment variable
is set to allow it to inherit the console of the crashing process.
The short list of handleable exceptions is there to ensure that
this handler won't run a debugger to "handle" utility exceptions,
such as the one that is used to communicate thread names to a debugger.
The handler is installed to be called last, and shouldn't interfere
with any user-installed handlers.
There's nothing fancy about the way it runs a debugger (it doesn't even
support unicode in paths), and it deliberately avoids using glib code.
The handler will also print a bit of information about the exception
that it caught, and even more information for well-known exceptions,
such as access violation.
The whole scheme is similar to AeDebug[1] and, in fact, the signal-event
gdb command was originally implemented for this very purpose.
[0]: https://docs.microsoft.com/en-us/windows/desktop/debug/vectored-exception-handling
[1]: https://docs.microsoft.com/en-us/windows/desktop/debug/configuring-automatic-debugging
2019-03-06 11:41:56 +00:00
..
2019-01-31 10:24:32 +01:00
2019-01-16 10:24:11 -05:00
2019-01-15 15:11:43 +00:00
2019-01-15 15:11:43 +00:00
2019-01-15 15:11:43 +00:00
2019-01-15 15:11:43 +00:00
2019-02-27 10:45:02 +00:00
2019-01-15 15:11:43 +00:00
2018-06-06 23:54:13 +08:00
2019-02-01 15:04:57 +01:00
2017-05-24 11:58:19 +02:00
2018-12-18 11:18:43 +00:00
2019-01-28 15:29:21 +01:00
2018-05-09 13:52:05 +01:00
2018-07-30 17:18:03 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2019-01-15 15:11:43 +00:00
2018-07-10 17:49:16 +02:00
2019-03-06 11:41:56 +00:00
2018-08-22 10:37:15 +01:00
2019-02-27 11:21:43 +00:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2018-11-05 17:15:42 -06:00
2018-08-22 11:18:02 +01:00
2018-06-02 09:45:55 +02:00
2018-08-06 15:20:02 +03:00
2017-05-24 11:58:19 +02:00
2019-01-07 18:54:17 +00:00
2018-03-13 12:17:31 +00:00
2017-05-24 11:58:19 +02:00
2019-01-28 15:26:43 +01:00
2017-05-24 11:58:19 +02:00
2015-11-12 15:01:54 +08:00
2019-01-07 18:54:17 +00:00
2018-08-22 11:18:02 +01:00
2019-01-28 15:24:06 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2019-01-28 15:29:21 +01:00
2017-10-11 12:13:20 +01:00
2019-01-28 15:29:14 +01:00
2018-11-01 16:12:32 +00:00
2019-01-24 11:31:38 +01:00
2017-05-24 11:58:19 +02:00
2016-09-21 18:30:52 +02:00
2018-11-28 11:04:48 +01:00
2017-05-24 11:58:19 +02:00
2019-02-18 13:23:13 +00:00
2017-05-24 11:58:19 +02:00
2018-10-23 14:38:13 +13:00
2018-04-30 21:54:31 +01:00
2019-01-15 15:11:43 +00:00
2017-05-24 11:58:19 +02:00
2018-12-18 13:59:23 +05:30
2018-05-08 12:41:13 +01:00
2018-03-20 20:21:32 +00:00
2017-05-24 11:58:19 +02:00
2017-11-12 16:36:16 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2018-10-23 17:01:51 +13:00
2017-05-24 11:58:19 +02:00
2018-04-27 16:46:19 +01:00
2018-04-27 16:46:19 +01:00
2018-10-30 11:55:30 +00:00
2018-08-22 11:18:02 +01:00
2018-07-12 23:48:41 +02:00
2018-08-25 23:59:45 +01:00
2017-05-24 11:58:19 +02:00
2018-12-18 12:24:17 +01:00
2019-03-06 11:41:56 +00:00
2019-03-06 11:41:56 +00:00
2019-03-04 11:12:59 +00:00
2017-11-01 12:46:38 +00:00
2018-12-18 13:59:23 +05:30
2018-04-27 16:46:19 +01:00
2017-05-24 11:58:19 +02:00
2018-07-09 10:11:42 +01:00
2018-01-04 22:19:30 +01:00
2018-07-09 10:11:42 +01:00
2018-03-28 11:55:50 +00:00
2013-01-13 13:11:57 -05:00
2018-08-20 11:00:29 +01:00
2017-05-24 11:58:19 +02:00
2019-02-05 12:20:23 +00:00
2017-05-24 11:58:19 +02:00
2019-02-22 18:08:34 +01:00
2018-06-26 09:30:19 +01:00
2017-05-24 11:58:19 +02:00
2018-08-22 11:18:02 +01:00
2019-01-30 14:36:14 +00:00
2017-05-24 11:58:19 +02:00
2018-12-18 13:27:43 +00:00
2018-08-22 14:47:52 +01:00
2018-11-23 12:19:19 +00:00
2018-10-03 14:45:12 +01:00
2008-04-08 02:59:05 +00:00
2017-11-28 14:16:25 +00:00
2017-05-24 11:58:19 +02:00
2018-12-17 14:32:29 +00:00
2017-05-24 11:58:19 +02:00
2019-02-01 09:10:02 -06:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2018-12-28 13:28:43 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-10-05 15:02:39 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2018-02-16 12:49:43 +00:00
2017-05-24 11:58:19 +02:00
2018-12-22 14:36:56 +05:30
2018-12-22 14:36:56 +05:30
2018-07-10 14:16:41 +02:00
2017-05-24 11:58:19 +02:00
2018-12-18 11:18:43 +00:00
2018-08-22 11:18:02 +01:00
2018-12-18 11:18:43 +00:00
2018-11-08 16:04:51 +01:00
2018-11-08 16:04:51 +01:00
2018-07-30 23:06:23 +05:30
2018-12-17 13:53:34 +00:00
2018-09-04 20:24:25 +02:00
2017-10-06 12:49:12 +01:00
2018-08-31 11:41:12 +01:00
2017-05-24 11:58:19 +02:00
2018-07-18 14:26:47 +02:00
2018-04-26 11:34:15 +01:00
2017-05-24 11:58:19 +02:00
2017-10-26 18:51:51 +02:00
2017-05-24 11:58:19 +02:00
2019-01-07 18:54:17 +00:00
2018-08-22 11:18:02 +01:00
2018-08-20 11:00:54 +01:00
2017-05-24 11:58:19 +02:00
2018-06-12 16:13:51 +01:00
2018-12-27 00:06:58 +03:00
2018-12-27 00:06:58 +03:00
2019-02-07 10:33:24 +00:00
2018-06-21 11:43:32 -05:00
2018-09-12 14:35:09 +00:00
2018-09-18 12:45:05 +00:00
2018-08-20 12:40:21 +02:00
2017-11-01 12:46:38 +00:00
2018-12-17 17:16:03 +00:00
2018-12-17 17:16:03 +00:00
2019-02-11 14:08:40 +00:00
2017-05-24 11:58:19 +02:00
2017-10-26 12:27:17 +01:00
2017-05-24 11:58:19 +02:00
2018-09-25 17:34:57 +01:00
2019-01-28 15:23:34 +01:00
2019-01-18 14:56:22 +00:00
2019-01-15 15:57:44 -06:00
2019-01-31 13:19:29 +00:00
2019-01-31 13:19:29 +00:00
2019-01-31 13:19:29 +00:00
2018-12-18 12:24:17 +01:00
2018-10-10 10:57:39 +02:00
2017-05-24 11:58:19 +02:00
2019-01-31 13:19:29 +00:00
2018-09-04 11:15:25 +01:00
2017-05-24 11:58:19 +02:00
2018-12-17 00:42:39 +02:00
2018-04-13 15:25:26 +01:00
2014-02-20 18:27:24 -05:00
2018-07-30 21:15:22 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2019-02-01 15:04:57 +01:00
2017-05-24 11:58:19 +02:00
2018-07-18 14:26:47 +02:00
2018-07-18 14:26:47 +02:00
2018-10-23 17:01:51 +13:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2014-06-28 12:49:38 -04:00
2017-05-24 11:58:19 +02:00
2018-07-18 14:26:47 +02:00
2018-07-18 14:26:47 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2018-10-23 17:01:51 +13:00
2019-02-01 09:10:02 -06:00
2018-12-17 17:16:03 +00:00
2018-12-17 17:16:03 +00:00
2017-02-06 14:40:38 +01:00
2017-02-06 14:40:38 +01:00
2018-05-28 09:22:55 -04:00
2018-11-08 14:22:03 +00:00
2017-05-24 11:58:19 +02:00
2018-10-23 17:01:51 +13:00
2019-02-26 14:19:08 +00:00
2018-11-06 12:49:25 +00:00
2018-11-06 12:49:25 +00:00
2019-01-26 21:45:34 +01:00
2018-06-15 13:10:36 +01:00
2018-10-23 17:01:51 +13:00
2018-10-23 17:01:51 +13:00
2018-11-08 14:22:03 +00:00
2018-10-23 17:01:51 +13:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2018-09-03 13:55:57 +10:00
2018-04-27 16:46:19 +01:00
2017-05-24 11:58:19 +02:00
2019-03-06 11:41:56 +00:00
2019-03-06 11:41:56 +00:00
2017-07-12 22:36:30 +02:00
2016-05-23 10:52:10 -04:00
2019-02-01 09:10:02 -06:00
2018-07-12 23:48:41 +02:00
2018-05-28 09:22:55 -04:00
2016-08-13 10:31:26 +02:00