- Support for .net 4.8 for lasted framework improvements.
-
KISS by design and programming. An acronym for "keep it simple, stupid" or "keep it stupid simple", is a design principle. The KISS principle states that most systems work best if they are kept simple rather than made complicated; therefore, simplicity should be a key goal in design, and unnecessary complexity should be avoided. Variations on the phrase include: "Keep it simple, silly", "keep it short and simple", "keep it simple and straightforward", "keep it small and simple", or "keep it stupid simple".
-
Select the best tools for the job, use tools that take less time to finish the job.
-
Productivity over complexity and avoid unnecessary complexity for elegant or beauty code.
-
Computers are machines, more powerful every year, give them hard work, concentrate on being productive.
-
Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves. [Yukihiro Matsumoto].
- Windows 8.1, 10.
- .Net Framework 4.8.
For lasted release download from Releases Menu
- Please Read RELEASE for details.
- Please first search for the issue and if not found then report it.
- Please Read ROADMAP for details.
- Please Read CHANGE LOG for details.
- Please Read the Contributing Guidelines for details.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
Give examples
A step by step series of examples that tell you how to get a development env running
Say what the step will be
Give the example
And repeat
until finished
End with an example of getting some data out of the system or using it for a little demo
Explain how to run the automated tests for this system
Explain what these tests test and why
Give an example
Explain what these tests test and why
Give an example
Add additional notes about how to deploy this on a live system
- Dropwizard - The web framework used
- Maven - Dependency Management
- ROME - Used to generate RSS Feeds
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Billie Thompson - Initial work - PurpleBooth
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
- Hat tip to anyone whose code was used
- Inspiration
- etc
If you choose to show a dialog (reports can also be sent silently) there are 2 modes - Less Detail and More Detail
In the next screenshot, we have an example of some customization that can be made with configuration. There are no images on the buttons, the window title is customised and an extra Tab (Contact) is visible
The buttons for More detail and Less Detail allow the user to switch between these modes.
The Exception Reporter is invoked manually or by setting up it's invocation on a Windows Error event, where it's basically passed the root Exception - see Sample Code Usage
The report is either sent silently or you can choose to show a dialog which is populated with the exception and certain system details. A screenshot is also taken (jpeg, multiple screens if present) and you can add file attachments to be sent (if using email as the method of sending).
The ultimate goal is the developer receiving a formatted exception report - see Creating and Sending a Report
- Support for inner exceptions and passing multiple exceptions (ie a list of exceptions)
- Support for generating a report without showing a dialog (sending silently)
- Support for sending a report to a RESTful API (WebService)
- Attach additional files to an email (automatically compressed into a single zip file before being attached) - useful for including any log/config files etc to help with diagnosis
- Support for using the user's installed email client (SimpleMAPI) - as well as an SMTP mail server (or WebService)
- The solution includes a Demo App for testing config and sending reports via Email/WebService
- The solution also includes a .NET Core REST/WebService project to demonstrate processing ExceptionReporter.NET reports (it's also configured to run on F5 along with the WinForms Demo and starts listening for reports immediately)
- The "Report" which is sent is plain text and includes exception stack traces, various related data and important system information (using WMI) such as CPU, memory, Windows versions as well as a list of all the assemblies (with versions) being used by the current executable (see example report below)
-----------------------------
[General Info]
Application: ExceptionReporter Demo App
Version: 2.2.1
Region: English (Australia)
Machine: PANDAMAN
User: JohnGruber
Date: 30/05/2017
Time: 12:40 AM
User Explanation:
JohnGruber said "I just pressed Connect and this happened"
-----------------------------
[Exception Info 1]
Top-level Exception
Type: System.IO.IOException
Message: Unable to establish a connection with the Foo bank account service. The error number is #FFF474678.
Source: WinFormsDemoApp
Stack Trace: at WinFormsDemoApp.DemoAppView.AndAnotherOne() in Z:\MyProjects\ExceptionReporter\src\WinFormsDemoApp\DemoAppView.cs:line 110
at WinFormsDemoApp.DemoAppView.CallAnotherMethod() in Z:\MyProjects\ExceptionReporter\src\WinFormsDemoApp\DemoAppView.cs:line 101
at WinFormsDemoApp.DemoAppView.SomeMethod() in Z:\MyProjects\ExceptionReporter\src\WinFormsDemoApp\DemoAppView.cs:line 96
at WinFormsDemoApp.DemoAppView.ShowExceptionReporter(Boolean useConfig) in Z:\MyProjects\ExceptionReporter\src\WinFormsDemoApp\DemoAppView.cs:line 81
Inner Exception 1
Type: System.Exception
Message: This is an Inner Exception message - with a message that is not too small but perhaps it should be smaller
-----------------------------
[Assembly Info]
mscorlib, Version=2.0.0.0
System.Windows.Forms, Version=2.0.0.0
System, Version=2.0.0.0
ExceptionReporter.WinForms, Version=2.1.2.0
System.Drawing, Version=2.0.0.0
EO.WebBrowser, Version=16.0.91.0
Esent.Collections, Version=1.9.3.2
[System Info]
Operating System
-Microsoft Windows 7 Enterprise
--CodeSet = 1252
--CSDVersion =
--CurrentTimeZone = 600
--FreePhysicalMemory = 1947848
--OSArchitecture = 32-bit
--OSLanguage = 1033
--ServicePackMajorVersion = 0
--ServicePackMinorVersion = 0
--Version = 6.1.7600
[Machine]
--Manufacturer = Gigabyte Technology Co., Ltd.
--Model = P35-DS3L
--TotalPhysicalMemory = 3756515328
- Peter van der Woude for Original Project.
- Manish Ranjan Kumar
- Javier Cañon
See also the list of contributors who participated in this project.
This project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3 - see the LICENSE.md file for details.
Made with ❤️ by Javier Cañon.