运行可执行文件时,WinForms AppCenter崩溃不起作用

问题描述 投票:1回答:1

我有一个WinForms应用程序,并添加了AppCenter崩溃跟踪支持。我还添加了崩溃代表Crashes.ShouldProcessErrorReport,Crashes.SendingErrorReport,Crashes.SentErrorReport,Crashes.FailedToSendErrorReport。并将它们记录到文本文件中以确保它们被调用。出于测试目的,我抛出StackOverflowException导致了未处理的异常。

在Visual Studio中调试程序时,一切正常,将日志写入文本文件,并将崩溃发送到AppCenter服务器。直接运行调试时,不会调用可执行委托,也不会发送崩溃信息。我已经检查并启用了崩溃API。

                    Crashes.ShouldProcessErrorReport = (ErrorReport report) => 
                    {
                        DataLogger.Error("AppCenter process error");
                        return true; // return true if the crash report should be processed, otherwise false.
                    };

                    Crashes.SendingErrorReport += (object sender, SendingErrorReportEventArgs e) =>
                    {
                        // Your code, e.g. to present a custom UI.
                        string s = e.Report.Exception.StackTrace;
                        Console.WriteLine(s);
                        DataLogger.Error("AppCenter sending ", e.Report.Exception);
                    };

                    Crashes.SentErrorReport += (object sender, SentErrorReportEventArgs e) => {
                        // Your code, e.g. to hide a custom UI.
                        DataLogger.Error("Appcenter successfully sent a crash");
                    };

                    Crashes.FailedToSendErrorReport += (object sender, FailedToSendErrorReportEventArgs e) => {
                        // Your code goes here.
                        string s = e.Exception.ToString();
                        Console.WriteLine(s);
                        DataLogger.Error("AppCenter failed to send " + s);

                    };

                    AppCenter.Start("SECRET_KEY", typeof(Analytics), typeof(Crashes));

                    bool isEnabled = Crashes.IsEnabledAsync().Result;
                    DataLogger.Error("AppCeneter enabled " + isEnabled);

                    Application.Run(new MyForm());

我有一个WinForms应用程序,并添加了AppCenter崩溃跟踪支持。我还添加了Crashes委托Crashes.ShouldProcessErrorReport,Crashes.SendingErrorReport,...

c# winforms visual-studio-app-center
1个回答
0
投票

请确保您已阅读有关WinForms handles crashes differently的文档。除非您使用下面的代码行禁用了默认的WinForms行为,否则它不会真正崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.