-
-
Notifications
You must be signed in to change notification settings - Fork 103
Open
Description
Describe the project you are working on
I'm working on a mobile game using the Godot Engine. The game targets iOS and Android. Crash handling is critical for debugging and overall stability. The game is a menu-based RPG with multiplayer elements.
Describe the problem or limitation you are having in your project
Currently, my app is crashing on launch in release builds only. To debug this issue, I need a way to view the backtrace of the crashing thread.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
The proposed feature is a crash handler for iOS. The handler would work like the existing macOS crash handler:
- Capture crashes caused by SIGSEGV, SIGFPE, SIGILL, and SIGTRAP.
- Generate backtrace + engine version
- Notify crash for node system (NOTIFICATION_CRASH).
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
- Copy
crash_handler_macos.h/mm to crash_handler_iOS.h/mm - Add
crash_handler_iOSto platform/ios/SCsub - Import and initialize in
os_ios.mm - Implement
disable_crash_handler/is_disable_crash_handler - Update docs for
NOTIFICATION_CRASHto include iOS.
Testing:
- Verify backtrace and other information logged by crash handler on an iOS release build.
If this enhancement will not be used often, can it be worked around with a few lines of script?
Crash logging can be disabled with arg --disable-crash-handler.
Is there a reason why this should be core and not an add-on in the asset library?
- Cross-Platform Consistency - Match existing functionality on macOS / windows / linux
- Developer Utility - Built-in crash handling benefits all developers.