问题描述
我有一个Mac应用商店应用程序,当它崩溃时,只是默默地消失。它不会显示CrashReporter对话框,让用户有机会向Apple报告崩溃。
我在多台机器上看到相同的行为。有什么已知的原因可能会发生吗?
根据:
作为登录的GUI用户运行是什么意思?窗口必须可见吗?
我正在阅读,并找到以下内容:
我运行CrashReporterPrefs并将我的CrashReporter模式更改为Developer。当我运行应用程序并触发崩溃,CrashReporter对话框被显示!
所以我想现在的问题是:应用程序崩溃和后台进程崩溃有什么区别?
如果您的应用程序使用LSUIElement或LSBackgroundOnly,它是一个后台进程,以确定是否显示Crash Reporter。 (其他后台进程包括UNIX地域守护程序,例如Apache Web服务器,以及从SSH或telnet连接启动的进程。)
I have a Mac app store app that just silently disappears when it crashes. It doesn't show the CrashReporter dialog to give the user a chance to report the crash to Apple.
I see the same behavior on multiple machines. Is there any known reason why this might happen?
According to TN2123:
What does "running as a logged in GUI user" mean? Does a window have to be visible?
Update:
I was reading the manpage for ReportCrash, and found the following:
I ran CrashReporterPrefs and changed my CrashReporter mode to Developer. When I ran the app and triggered the crash, the CrashReporter dialog was shown!
So I guess the question now is: What's the difference between an "application" crash and a "background process" crash?
If your app uses LSUIElement or LSBackgroundOnly, it's a "background process" for the purpose of determining whether to show the Crash Reporter. (Other "background processes" include UNIX-land daemons, such as the Apache web server, and processes started from SSH or telnet connections.)
这篇关于当Mac应用程式崩溃时,CrashReporter对话方块不会显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!