Managing app crashes

更新时间:
复制 MD 格式

Problem description

Definition of a crash

In general, a crash is the abnormal termination of an app.

Crash logs

Crash logs from the mPaaS client framework record app crashes that are caused by critical program faults.

  • The main content of an Android crash log includes the following information:

    • MonitorPoint_Crash: Indicates that the log records an app crash.

    • Crashed thread call stack: Records the program call stack of the crashed thread.

    • Other contextual information: Includes information such as the device model, the screen on which the crash occurred, and the IP address.

  • The main content of an iOS crash log includes the following information:

    • Information about the client that crashed.

    • The crash log file.

Principles for managing app crashes

App crashes severely affect user experience and can have many causes. The mPaaS framework can track application layer crashes on Android and iOS. However, the framework's crash handler cannot capture native-layer crashes, forced shutdowns by the operating system (OS), or other unexpected terminations. Therefore, these types of crashes are not detected or reported.

Basic steps for managing app crashes

  1. Identify crash issues during early development stages, such as internal testing, compatibility testing, and grayscale testing.

  2. Monitor online crash data after a version is released.

  3. Categorize and analyze crash logs. Based on the frequency and causes of the crashes, implement appropriate management policies.

  4. For high-frequency issues, reproduce and fix them using the crash logs and analysis results.

  5. During the next testing cycle, verify the fixes by testing the corresponding issue scenarios.

  6. Tolerate occasional and low-frequency crash events to a certain degree.

  7. Track the crash rate over the long term, including the number of affected users and the number of crashes for each issue category.

A crash log is only a snapshot of a thread's final state at the moment of the crash. It does not show the full sequence of events that led to the issue. Therefore, when analyzing an issue, the crash log alone is often insufficient to identify the root cause.