mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-14 19:49:15 +08:00
Add crashreproter
This commit is contained in:
parent
3e5288836d
commit
17951d7fe0
@ -80,7 +80,7 @@ namespace Wox.Plugin.SystemPlugins
|
|||||||
|
|
||||||
public override string IcoPath
|
public override string IcoPath
|
||||||
{
|
{
|
||||||
get { return @"Images\list.png"; }
|
get { return @"Images\work.png"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string Description
|
public override string Description
|
||||||
|
2
Wox.sln
2
Wox.sln
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 2013
|
# Visual Studio 2013
|
||||||
VisualStudioVersion = 12.0.30723.0
|
VisualStudioVersion = 12.0.21005.1
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wox.Test", "Wox.Test\Wox.Test.csproj", "{FF742965-9A80-41A5-B042-D6C7D3A21708}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wox.Test", "Wox.Test\Wox.Test.csproj", "{FF742965-9A80-41A5-B042-D6C7D3A21708}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -9,15 +9,28 @@ using System.Windows.Threading;
|
|||||||
using System.Xml;
|
using System.Xml;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using Wox.Infrastructure.Logger;
|
using Wox.Infrastructure.Logger;
|
||||||
|
using CrashReporterDotNET;
|
||||||
|
|
||||||
namespace Wox.Helper.ErrorReporting
|
namespace Wox.Helper.ErrorReporting
|
||||||
{
|
{
|
||||||
public static class 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)
|
public static void UnhandledExceptionHandle(object sender, System.UnhandledExceptionEventArgs e)
|
||||||
{
|
{
|
||||||
if (System.Diagnostics.Debugger.IsAttached) return;
|
if (System.Diagnostics.Debugger.IsAttached) return;
|
||||||
|
|
||||||
|
ReportCrash((Exception)e.ExceptionObject);
|
||||||
|
return;
|
||||||
string error = CreateExceptionReport("System.AppDomain.UnhandledException", e.ExceptionObject);
|
string error = CreateExceptionReport("System.AppDomain.UnhandledException", e.ExceptionObject);
|
||||||
|
|
||||||
//e.IsTerminating is always true in most times, so try to avoid use this property
|
//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;
|
if (Debugger.IsAttached) return;
|
||||||
|
|
||||||
|
ReportCrash(e.Exception);
|
||||||
|
return;
|
||||||
|
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
string error = CreateExceptionReport("System.Windows.Application.DispatcherUnhandledException", e.Exception);
|
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)
|
public static void ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
||||||
{
|
{
|
||||||
if (Debugger.IsAttached) return;
|
if (Debugger.IsAttached) return;
|
||||||
|
ReportCrash(e.Exception);
|
||||||
|
return;
|
||||||
string error = CreateExceptionReport("System.Windows.Forms.Application.ThreadException", e.Exception);
|
string error = CreateExceptionReport("System.Windows.Forms.Application.ThreadException", e.Exception);
|
||||||
|
|
||||||
Log.Fatal(error);
|
Log.Fatal(error);
|
||||||
@ -271,6 +288,7 @@ namespace Wox.Helper.ErrorReporting
|
|||||||
var dialog = new WPFErrorReportingDialog(error, title, exceptionObject);
|
var dialog = new WPFErrorReportingDialog(error, title, exceptionObject);
|
||||||
dialog.ShowDialog();
|
dialog.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ShowWPFMessageBox(string error, string title)
|
private static void ShowWPFMessageBox(string error, string title)
|
||||||
{
|
{
|
||||||
System.Windows.MessageBox.Show(error, title, MessageBoxButton.OK, MessageBoxImage.Error,
|
System.Windows.MessageBox.Show(error, title, MessageBoxButton.OK, MessageBoxImage.Error,
|
||||||
|
@ -222,13 +222,12 @@ namespace Wox
|
|||||||
|
|
||||||
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
|
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (UserSettingStorage.Instance.WindowLeft == 0
|
if (UserSettingStorage.Instance.WindowLeft == 0 && UserSettingStorage.Instance.WindowTop == 0)
|
||||||
&& UserSettingStorage.Instance.WindowTop == 0)
|
|
||||||
{
|
{
|
||||||
Left = UserSettingStorage.Instance.WindowLeft
|
Left = UserSettingStorage.Instance.WindowLeft
|
||||||
= (SystemParameters.PrimaryScreenWidth - ActualWidth) / 2;
|
= (SystemParameters.PrimaryScreenWidth - ActualWidth) / 2;
|
||||||
Top = UserSettingStorage.Instance.WindowTop
|
Top = UserSettingStorage.Instance.WindowTop
|
||||||
= (SystemParameters.PrimaryScreenHeight - ActualHeight) / 5;
|
= (SystemParameters.PrimaryScreenHeight - ActualHeight) / 6;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -548,7 +547,7 @@ namespace Wox
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Key.F1:
|
case Key.F1:
|
||||||
Process.Start("https://github.com/qianlifeng/Wox/wiki/Wox-Function-Guide");
|
Process.Start("http://doc.getwox.com");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Key.Enter:
|
case Key.Enter:
|
||||||
|
@ -60,6 +60,9 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Accessibility" />
|
<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">
|
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
|
<package id="CrashReporterdotNet" version="1.5" targetFramework="net35" />
|
||||||
<package id="InputSimulator" version="1.0.4.0" targetFramework="net35" />
|
<package id="InputSimulator" version="1.0.4.0" targetFramework="net35" />
|
||||||
<package id="log4net" version="2.0.3" targetFramework="net35" />
|
<package id="log4net" version="2.0.3" targetFramework="net35" />
|
||||||
<package id="Newtonsoft.Json" version="6.0.5" targetFramework="net35" />
|
<package id="Newtonsoft.Json" version="6.0.5" targetFramework="net35" />
|
||||||
|
Loading…
Reference in New Issue
Block a user