1

アプリケーションで SIGSEGV 例外に直面しており、アプリケーションがクラッシュしています。アプリケーションが実行時にクラッシュしないように、これらのシグナルを処理したいのですが、これらの例外を処理して、アプリケーションがスムーズに実行されるようにします。

私は自分のアプリケーションに ARC を使用していますが、リリースまたは保持ステートメントを処理していません。現在、アプリケーションがアクセス権のないメモリまたは無効なメモリにアクセスしている理由を突き止めるのは非常に困難です。

また、アプリケーションが常にクラッシュすることはめったになく、20 セッションで 1 ~ 2 回しか発生しないと言われていますが、問題はそこにあり、非常にいらいらさせられます。

4

1 に答える 1

4

SIGSEGVセグメンテーション違反です。アプリケーションを取得した後、アプリケーションをスムーズに実行する方法はありません。実際には、アプリケーションを実行し続ける方法はまったくありません。

次のように、シグナルハンドラーでシグナルを処理できます

// register a signal handler
signal(SIGSEGV, SignalHandler);

static void SignalHandler (int signo) {
     //...
}

ただし、これはアプリケーションのクラッシュを防ぐものではありません。

于 2013-10-30T06:37:30.030 に答える