﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
274	Add EXCEPTQ support	dmik		"There is a nice EXCEPTQ library that catches fatal system exceptions and prints out a nice trap report (that contains a lot of useful information such as disassembly, call stack and symbols, labels on stack etc). This is extremely useful when debugging application crashes — especially in the absence of modern debuggers.

Another good feature of EXCEPTQ is that it has its own debug symbol file format (XQS) that overcomes limitations of the traditional mapsym tool regarding the maximum number of symbols. When generating reports it understands all possible ones though: embedded info, .SYM, .DBG.

In order to use EXCEPTQ in the application, it's necessary to explicitly install it on each thread the application creates. In case of big applications (like Firefox) it turns out to be a problem as there are many places where threads are created (directly through beginthread I mean).

So my suggestion is to do it in the kLIBC thread function wrapper where it installs its own exception handlers. It may be done dynamically, i.e. only if EXCEPTQ.DLL is present (and if not disabled in the process environment). Also, a new -Z option may be introduced to make EXCEPTQ support optional on per-application basis.

Here is the recent version: http://www.warpcave.com/betas/exceptq-7.11-dll-shl-2013-10-15.zip."	enhancement	reopened	normal	libc-1.1	libc-backend		normal			Steven Levine
