carp_debug_flutter adds a floating button to your app. Tapping it opens a self-contained debug menu that is independent of the host app’s widget tree. It renders in its own theme, localization and navigator, so it keeps working even when a screen throws or navigation breaks.
This package was mainly designed for CARP apps (it ships adapters for shared_preferences and the sembast database, and a runtime override layer for --dart-define launch arguments CARP apps rely on) but works in any Flutter app.

Features

Environment & Servers

Switch the deployment server and override any launch argument (--dart-define) at runtime, then apply live or restart

Shared Preferences

Inspect, search, edit, add and delete any keys including the CARP user data

Database

Browse the local sembast database: stores, records, delete records, clear stores

Device & App

Running device + app metadata (model, OS, version, build) and screen metrics

Logs & Errors

Captured debugPrint output, framework errors and uncaught async errors

Custom tools

Expand the toolkit by adding your own screens by implementing DebugTool
A synchronous infinite loop on the UI isolate freezes all Dart rendering including the toolkit. The toolkit can handle exceptions, crashed screens and broken navigation.

Next steps

Installation

Quickstart

Environment & Servers

Custom tools