Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Absturz erzwingen, um die Implementierung zu testen
Fügen Sie Ihrer App Code hinzu, mit dem Sie einen Testabsturz erzwingen können.
Mit dem folgenden Code können Sie Ihrer App eine Schaltfläche hinzufügen, die beim Drücken einen Absturz verursacht. Die Schaltfläche ist mit „Testabsturz“ beschriftet.
SwiftUI
Button("Crash"){fatalError("Crash was triggered")}
#import"ViewController.h"@implementationViewController
‐ (void)viewDidLoad{[superviewDidLoad];// Do any additional setup after loading the view, typically from a nib.UIButton*button=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];button.frame=CGRectMake(20,50,100,30);[buttonsetTitle:@"Test Crash"forState:UIControlStateNormal];[buttonaddTarget:selfaction:@selector(crashButtonTapped:)forControlEvents:UIControlEventTouchUpInside];[self.viewaddSubview:button];}‐(IBAction)crashButtonTapped:(id)sender{@[][1];}@end
Erstellen Sie Ihre App in Xcode und führen Sie sie aus, während der Xcode-Debugger getrennt ist.
Klicken Sie auf play_arrowBuild and then run the current scheme (Aktuelles Schema erstellen und dann ausführen), um Ihre App auf einem Testgerät oder Simulator zu erstellen.
Warten Sie, bis Ihre App ausgeführt wird, und klicken Sie dann auf stopSchema oder Aktion beenden, um die ursprüngliche Instanz Ihrer App zu schließen. Diese ursprüngliche Instanz enthielt den Debugger, der die Crashlytics-Funktion beeinträchtigt.
Erzwingen Sie den Testabsturz, um den ersten Absturzbericht Ihrer App zu senden:
Öffnen Sie Ihre App auf dem Startbildschirm Ihres Testgeräts oder Simulators.
Klicken Sie in Ihrer App auf die Schaltfläche „Testabsturz“, die Sie mit dem oben stehenden Code hinzugefügt haben.
Nachdem Ihre App abgestürzt ist, führen Sie sie noch einmal in Xcode aus, damit der Absturzbericht an Firebase gesendet werden kann.
Rufen Sie das Crashlytics-Dashboard der Firebase-Konsole auf, um den Testabsturz zu sehen.
Wenn Sie die Konsole aktualisiert haben und der Testabsturz nach fünf Minuten immer noch nicht angezeigt wird, aktivieren Sie das Debugging-Logging (nächster Abschnitt).
Debuggingprotokollierung für Crashlytics aktivieren
Wenn der Testabsturz nicht im Crashlytics-Dashboard angezeigt wird, können Sie Debug-Logging für Crashlytics verwenden, um das Problem zu beheben.
Debug-Logging aktivieren:
Wählen Sie in Xcode Product > Scheme > Edit scheme (Produkt > Schema > Schema bearbeiten) aus.
Wählen Sie im Menü auf der linken Seite Ausführen und dann den Tab Argumente aus.
Fügen Sie im Bereich Beim Start übergebene Argumente-FIRDebugEnabled hinzu.
Einen Testabsturz erzwingen Im ersten Abschnitt auf dieser Seite wird beschrieben, wie Sie das tun.
Suchen Sie in Ihren Logs nach einer Log-Nachricht von Crashlytics, die den folgenden String enthält. So können Sie überprüfen, ob Ihre App Abstürze an Firebase sendet.
Completed report submission
Wenn dieses Log oder Ihr Testabsturz nach fünf Minuten nicht im Crashlytics-Dashboard der Firebase-Konsole angezeigt wird, wenden Sie sich mit einer Kopie Ihrer Log-Ausgabe an den Firebase-Support, damit wir Ihnen bei der weiteren Fehlerbehebung helfen können.
[null,null,["Zuletzt aktualisiert: 2025-08-08 (UTC)."],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Flutter Unity \n\n\u003cbr /\u003e\n\nForce a crash to test your implementation **Note:** Before forcing a crash, make sure that your app is configured to [automatically upload dSYM files](/docs/crashlytics/get-started?platform=ios#set-up-dsym-uploading).\n\n1. Add code to your app that you can use to force a test crash.\n\n You can use the following code to add a button to your app that, when\n pressed, causes a crash. The button is labeled \"Test Crash\".\n\n \u003cbr /\u003e\n\n SwiftUI \n\n ```swift\n Button(\"Crash\") {\n fatalError(\"Crash was triggered\")\n }\n ```\n\n UIKit \n\n Swift \n\n ```python\n import UIKit\n\n class ViewController: UIViewController {\n override func viewDidLoad() {\n super.viewDidLoad()\n\n // Do any additional setup after loading the view, typically from a nib.\n\n let button = UIButton(type: .roundedRect)\n button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)\n button.setTitle(\"Test Crash\", for: [])\n button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)\n view.addSubview(button)\n }\n\n @IBAction func crashButtonTapped(_ sender: AnyObject) {\n let numbers = [0]\n let _ = numbers[1]\n }\n }\n ```\n\n Objective-C \n\n ```objective-c\n #import \"ViewController.h\"\n\n @implementation ViewController\n ‐ (void)viewDidLoad {\n [super viewDidLoad];\n\n // Do any additional setup after loading the view, typically from a nib.\n\n UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];\n button.frame = CGRectMake(20, 50, 100, 30);\n [button setTitle:@\"Test Crash\" forState:UIControlStateNormal];\n [button addTarget:self action:@selector(crashButtonTapped:)\n forControlEvents:UIControlEventTouchUpInside];\n [self.view addSubview:button];\n }\n\n ‐ (IBAction)crashButtonTapped:(id)sender {\n @[][1];\n }\n\n @end\n ```\n2. Build and run your app in Xcode with the Xcode debugger disconnected.\n\n | **The Xcode debugger prevents crash reports\n | from being sent to Crashlytics.** Complete the following steps to disconnect your test device or simulator from the Xcode debugger ***before*** forcing a crash.\n 1. Click play_arrow**Build and then\n run the current scheme** to build your app on a test device or\n simulator.\n\n 2. Wait until your app is running, then click\n stop**Stop running the scheme or\n action** to close the initial instance of your app. This initial\n instance included the debugger that interferes with Crashlytics.\n\n3. Force the test crash in order to send your app's first crash report:\n\n 1. Open your app from the home screen of your test device or simulator.\n\n 2. In your app, press the \"Test Crash\" button that you added using the code\n above.\n\n 3. After your app crashes, run it again from Xcode so that your app can\n send the crash report to Firebase.\n\n4. Go to the [Crashlytics dashboard](https://console.firebase.google.com/project/_/crashlytics) of the\n Firebase console to see your test crash.\n\nIf you've refreshed the console and you're still not seeing the test crash\nafter five minutes, try enabling debug logging (next section).\n\nEnable debug logging for Crashlytics\n\nIf you don't see your test crash in the Crashlytics dashboard, you can\nuse debug logging for Crashlytics to help track down the problem.\n\n1. Enable debug logging:\n\n 1. In Xcode, select **Product \\\u003e Scheme \\\u003e Edit scheme**.\n\n 2. Select **Run** from the left menu, then select the **Arguments** tab.\n\n 3. In the *Arguments Passed on Launch* section, add `-FIRDebugEnabled`.\n\n2. Force a test crash. The first section on this page describes how to do this.\n\n3. Within your logs, search for a log message from Crashlytics that\n contains the following string, which verifies that your app is sending\n crashes to Firebase.\n\n ```\n Completed report submission\n ```\n | After confirming that your app is sending crashes, you can optionally disable debug logging by removing the `-FIRDebugEnabled` from the arguments passed on launch.\n\nIf you don't see this log or your test crash in the Crashlytics dashboard\nof the Firebase console after five minutes, reach out to\n[Firebase Support](/support/troubleshooter/crashlytics/missing) with a copy of\nyour log output so that we can help you troubleshoot further.\n\nNext steps\n\n- [Customize your crash report setup](/docs/crashlytics/customize-crash-reports) by adding opt-in reporting, logs, keys, and tracking of non-fatal errors."]]