carp_debug_flutter library
An in-app debugging toolkit for CARP Flutter apps.
Wrap the app's root widget in CarpDebugToolkit to get a draggable floating button that opens a self-contained debug menu. The menu is independent of the host app's widget tree, so it keeps working even when a screen crashes.
Included tools:
- switch the deployment server and override any launch argument
(
--dart-define) at runtime — see DebugEnv and EnvEntry; - inspect, edit and delete shared-preferences / user-session data — see KeyValueStore;
- browse and delete records in the local (sembast) database — see DebugDatabase;
- view device / app metadata and captured logs & errors.
Register your own screens by implementing DebugTool and passing them via DebugToolkitConfig.extraTools.
Classes
- CarpDebugToolkit
- Wraps the host application and overlays the debug toolkit on top of it.
- DebugController
- Holds the live state of the debug toolkit: whether the menu is open, the resolved list of tools, the floating-button position and shared services.
- DebugDatabase
- An inspectable, structured database surfaced by the "Database" tool.
- DebugEnv
-
Runtime override layer for compile-time launch arguments (
--dart-define). - DebugLog
-
An in-memory ring buffer that captures
debugPrintoutput, framework errors and uncaught async errors so they can be reviewed in the "Logs" tool — even after a screen has crashed. - DebugLogEntry
- A single captured log line.
- DebugRecord
- A single record (key + value) read from a DebugDatabase store.
- DebugScaffold
- A consistent Scaffold for tool pages pushed onto the toolkit navigator.
- DebugTool
- A single entry in the debug menu.
- DebugToolkitConfig
- Immutable configuration describing what the debug toolkit can do for a particular app.
- EnvEntry
-
Declarative description of a single overridable launch argument
(a
--dart-definevalue) that the app normally reads viaString.fromEnvironment. - KeyValueStore
- A generic, inspectable key/value store surfaced by the "Preferences" tool.
- NativeBridge
-
Thin, failure-tolerant Dart wrapper around the Pigeon-generated
CarpDebugHostApi. - NativeDeviceInfo
- Read-only snapshot of device and application metadata, collected natively.
- SembastDebugDatabase
-
A DebugDatabase backed by a sembast
Database. - SembastStoreDescriptor
-
Couples a human-readable label with a sembast
StoreRefso the toolkit can inspect it. The app provides these because sembast does not enumerate its stores at runtime. -
A KeyValueStore backed by a
SharedPreferencesinstance.
Enums
- DebugLogLevel
- Severity of a captured DebugLogEntry.
- EnvValueType
- The kind of value a launch argument holds. Drives which editor widget the Environment tool renders.