15

ときどき、iOS アプリの非常にまれなバグを突き止めようとします。デバッグ中にxcodeまたはlldbがクラッシュするためだけに何時間も再現しようとした後、デバッガーでヒットします(通常、C++コードをステップ実行している場合)。これは腹立たしいことではありません。

gdb を使用generate-core-dumpすると、ファイルのコア ダンプを作成して、gdb に再ロードし、少なくともすべてのメモリを調べることができます。私が必要としているのは、lldb で同様のことを行う機能です。これにより、xcode がクラッシュしたときに (常に最悪の場合に発生する傾向があるため)、クラッシュを再現することなくデバッグ セッションを回復できます。

アプリはジェイルブレイクされていない iPhone で実行されているため、そこからメモリをダンプするなどの操作を行うために OS にあまりアクセスできません。

考えられる答えの 1 つは、lldb の代わりに gdb を使用することですが、現時点では覚えていない他の問題が発生すると思います。さらに、lldb で役立つ機能がいくつかありません。

4

2 に答える 2

1

iOS 用のプロセス エクスプローラー ツールは、プロセスに影響を与えることなく、任意の PID のコア ダンプを生成できることに注意してください (ルートを持っているか、それがユーザーと同じ UID であると仮定します)。

于 2015-09-06T03:34:46.967 に答える