Add crashreproter

This commit is contained in:
qianlifeng 2014-12-17 19:10:28 +08:00
parent 3e5288836d
commit 17951d7fe0
6 changed files with 28 additions and 7 deletions

View File

@ -80,7 +80,7 @@ namespace Wox.Plugin.SystemPlugins
public override string IcoPath
{
get { return @"Images\list.png"; }
get { return @"Images\work.png"; }
}
public override string Description

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wox.Test", "Wox.Test\Wox.Test.csproj", "{FF742965-9A80-41A5-B042-D6C7D3A21708}"
EndProject

View File

@ -9,15 +9,28 @@ using System.Windows.Threading;
using System.Xml;
using Microsoft.Win32;
using Wox.Infrastructure.Logger;
using CrashReporterDotNET;
namespace Wox.Helper.ErrorReporting
{
public static class ErrorReporting
{
private static void ReportCrash(Exception exception)
{
var reportCrash = new ReportCrash
{
ToEmail = "qianlf2008@163.com"
};
reportCrash.Send(exception);
}
public static void UnhandledExceptionHandle(object sender, System.UnhandledExceptionEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached) return;
ReportCrash((Exception)e.ExceptionObject);
return;
string error = CreateExceptionReport("System.AppDomain.UnhandledException", e.ExceptionObject);
//e.IsTerminating is always true in most times, so try to avoid use this property
@ -30,6 +43,9 @@ namespace Wox.Helper.ErrorReporting
{
if (Debugger.IsAttached) return;
ReportCrash(e.Exception);
return;
e.Handled = true;
string error = CreateExceptionReport("System.Windows.Application.DispatcherUnhandledException", e.Exception);
@ -39,7 +55,8 @@ namespace Wox.Helper.ErrorReporting
public static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
if (Debugger.IsAttached) return;
ReportCrash(e.Exception);
return;
string error = CreateExceptionReport("System.Windows.Forms.Application.ThreadException", e.Exception);
Log.Fatal(error);
@ -271,6 +288,7 @@ namespace Wox.Helper.ErrorReporting
var dialog = new WPFErrorReportingDialog(error, title, exceptionObject);
dialog.ShowDialog();
}
private static void ShowWPFMessageBox(string error, string title)
{
System.Windows.MessageBox.Show(error, title, MessageBoxButton.OK, MessageBoxImage.Error,

View File

@ -222,13 +222,12 @@ namespace Wox
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
{
if (UserSettingStorage.Instance.WindowLeft == 0
&& UserSettingStorage.Instance.WindowTop == 0)
if (UserSettingStorage.Instance.WindowLeft == 0 && UserSettingStorage.Instance.WindowTop == 0)
{
Left = UserSettingStorage.Instance.WindowLeft
= (SystemParameters.PrimaryScreenWidth - ActualWidth) / 2;
Top = UserSettingStorage.Instance.WindowTop
= (SystemParameters.PrimaryScreenHeight - ActualHeight) / 5;
= (SystemParameters.PrimaryScreenHeight - ActualHeight) / 6;
}
else
{
@ -548,7 +547,7 @@ namespace Wox
break;
case Key.F1:
Process.Start("https://github.com/qianlifeng/Wox/wiki/Wox-Function-Guide");
Process.Start("http://doc.getwox.com");
break;
case Key.Enter:

View File

@ -60,6 +60,9 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Accessibility" />
<Reference Include="CrashReporter.NET">
<HintPath>..\packages\CrashReporterdotNet.1.5\lib\net20\CrashReporter.NET.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CrashReporterdotNet" version="1.5" targetFramework="net35" />
<package id="InputSimulator" version="1.0.4.0" targetFramework="net35" />
<package id="log4net" version="2.0.3" targetFramework="net35" />
<package id="Newtonsoft.Json" version="6.0.5" targetFramework="net35" />