Для этого вы можете использовать библиотеку NBug .С минимальной настройкой, подобной этой:
NBug.Settings.Destination1 = "Type=Mail;From=me@mycompany.com;To=bugtracker@mycompany.com;SmtpServer=smtp.mycompany.com;";
AppDomain.CurrentDomain.UnhandledException += NBug.Handler.UnhandledException;
Application.ThreadException += NBug.Handler.ThreadException;
Вы можете начать собирать информацию обо всех необработанных ошибках в вашем приложении, даже когда оно развернуто на клиентах.Если вы не хотите использовать стороннюю библиотеку, вам следует присоединиться к следующим событиям:
// These two should come before enabling visual styles or running the application
AppDomain.CurrentDomain.UnhandledException += ...
Application.ThreadException += ...
...
Application.Run(new Form1());