Bubble provides a step-by-step Debugger, an Issue Checker, and Server Logs to diagnose runtime problems. This tutorial teaches you to set breakpoints, inspect element states, watch data changes in real time, and trace conditional logic so you can find and fix bugs quickly without guessing.
Overview: Bubble's Debugging Tools for Runtime Issues
When something goes wrong in your Bubble app — a workflow does not fire, data does not display, or a condition behaves unexpectedly — the Debugger is your best friend. This tutorial gives you a deep dive into Bubble's three main debugging tools: the step-by-step Debugger for frontend workflows, the Issue Checker for structural problems, and Server Logs for backend issues. Aimed at non-technical builders who want to stop guessing and start diagnosing.
Prerequisites
- A Bubble app with some workflows and data already set up
- Access to preview mode (any Bubble plan)
- Basic understanding of how Bubble workflows operate
- Familiarity with Bubble's Design and Workflow tabs
Step-by-step guide
Launch the Debugger in preview mode
Launch the Debugger in preview mode
Click the Preview button in the top-right corner of your Bubble editor to open your app in a new browser tab. In the preview URL bar, you will see a floating Debugger toolbar at the bottom of the page. If it is not visible, add ?debug_mode=true to the end of your preview URL. The toolbar shows several buttons: Step, Slow, Normal, and a dropdown for inspecting elements. Click the Step button to enable step-by-step mode, which pauses before each workflow action so you can inspect values.
Pro tip: Bookmark your preview URL with ?debug_mode=true so you always launch directly into debug mode.
Expected result: The Debugger toolbar appears at the bottom of your preview window with step-by-step mode enabled.
Step through a workflow action by action
Step through a workflow action by action
With step mode enabled, trigger a workflow in your app (for example, click a button that creates a record). The Debugger will pause before the first action and display the workflow name, the current action, and all the data values being used. Click the Next button to advance one action at a time. For each action, the Debugger shows the inputs (what data is being passed), the outputs (what was created or changed), and any Only when conditions. If an action was skipped due to a condition, the Debugger shows it as 'Skipped' with the condition value.
Expected result: You can see each workflow action execute one at a time, with full visibility into data values and condition evaluations.
Inspect element states and data sources
Inspect element states and data sources
In the Debugger toolbar, click the dropdown labeled 'Inspect' or use the element inspector button (magnifying glass icon). Then click any element on the page. A panel appears showing the element's current data source value, all conditional formatting states, custom states attached to it, and whether it is visible or hidden. This is invaluable for debugging why a Repeating Group shows no data (check its data source), why a text displays the wrong value (check its dynamic expression), or why an element is hidden (check its conditions).
Pro tip: Right-click an element in the editor, select 'Inspect in run mode' to jump directly to that element in the Debugger.
Expected result: You can click any element in preview mode and see its current data source, custom states, and condition evaluations.
Use the Issue Checker for structural problems
Use the Issue Checker for structural problems
Go back to the Bubble editor and click the Issue Checker icon in the top toolbar (it looks like a warning triangle). The Issue Checker scans your entire app for structural problems: missing data sources, broken references, disconnected workflows, and type mismatches. Each issue is listed with a description and a clickable link that takes you directly to the problematic element or workflow. Fix issues from top to bottom — some issues are caused by others above them. Red issues are errors that will prevent functionality; yellow issues are warnings that may cause unexpected behavior.
Expected result: A list of all structural issues in your app, each with a direct link to the problem location for quick fixing.
Read Server Logs for backend workflow debugging
Read Server Logs for backend workflow debugging
Click the Logs tab in the left sidebar of the editor. Server Logs show every server-side action that has run, including backend workflows, database operations, and API calls. Each log entry shows the timestamp, workflow name, action, workload units consumed, and any error messages. Use the search and filter options to narrow logs by workflow name or time range. For backend workflows that fail silently, this is often the only way to discover what went wrong. Note that free plans retain logs for only 6 hours — check logs promptly after testing.
Pro tip: If backend workflows fail without clear errors, create a Debug Data Type and add a 'Create a new Debug' action at each step to log values manually.
Expected result: You can see a chronological log of all server-side operations with error messages and workload unit costs.
Debug conditional logic by testing edge cases
Debug conditional logic by testing edge cases
Return to your preview with the Debugger enabled. Test your app with different scenarios: logged out vs logged in, empty vs populated data, first-time vs returning user. For each scenario, step through workflows and inspect element conditions. Pay special attention to Only when conditions on workflow actions — when a condition evaluates to 'no', the action is skipped but subsequent actions still run (which can cause errors if they depend on the skipped action's result). Use the element inspector to verify that conditional formatting on elements matches your expectations at each state.
Expected result: You can identify exactly which conditions fail under specific scenarios and fix logic errors before they reach live users.
Complete working example
1DEBUGGING WORKFLOW SUMMARY2=========================34TOOL 1: STEP-BY-STEP DEBUGGER5 Launch: Preview → ?debug_mode=true6 Controls:7 - Step: pause before each action8 - Slow: run with delays between actions9 - Normal: run at full speed10 - Next: advance one action11 Shows per action:12 - Workflow name and event trigger13 - Current action name and type14 - Input values (data being passed)15 - Output values (data created/changed)16 - Only when condition result (yes/no/skipped)1718TOOL 2: ELEMENT INSPECTOR19 Launch: Debugger toolbar → Inspect dropdown → click element20 Shows per element:21 - Current data source value22 - All custom states and their values23 - Conditional formatting evaluations24 - Visibility status (visible/hidden and why)25 - Parent group data context2627TOOL 3: ISSUE CHECKER28 Launch: Editor top toolbar → Warning triangle icon29 Scans for:30 - Missing data sources31 - Broken element/workflow references32 - Type mismatches in expressions33 - Disconnected workflows34 Color codes:35 - Red = error (blocks functionality)36 - Yellow = warning (unexpected behavior)3738TOOL 4: SERVER LOGS39 Launch: Editor → Logs tab (left sidebar)40 Shows per entry:41 - Timestamp42 - Workflow/action name43 - Workload units consumed44 - Error messages (if any)45 Retention: 6 hours (Free), longer on paid plans4647DEBUG DATA TYPE (manual logging):48 Fields: workflow_name (text), step_name (text),49 value (text), timestamp (date), user (User)50 Usage: Add 'Create new Debug' action at each51 workflow step to log values for inspectionCommon mistakes when effectivelying use Bubble.io's debugging tools to fix runtime issues: Step-b
Why it's a problem: Not enabling step mode before triggering the workflow
How to avoid: Always click the Step button in the Debugger toolbar before triggering the workflow you want to debug
Why it's a problem: Ignoring yellow warnings in the Issue Checker
How to avoid: Fix all issues listed in the Issue Checker, starting with red errors and then addressing every yellow warning
Why it's a problem: Trying to debug backend workflows with the frontend Debugger
How to avoid: Use Server Logs in the Logs tab and manual Debug Data Type logging to inspect backend workflow behavior
Why it's a problem: Checking Server Logs too late on the free plan
How to avoid: Check Server Logs immediately after testing, or upgrade to a paid plan for longer log retention
Best practices
- Always debug in step-by-step mode to see exact data values at each workflow action
- Use the element inspector to verify data sources before assuming a workflow is broken
- Fix all Issue Checker items regularly — do not let warnings accumulate
- Create a Debug Data Type for manual logging when debugging backend workflows
- Test with multiple user roles (admin, regular user, logged out) to catch permission-related bugs
- Check Server Logs immediately after testing on the free plan due to 6-hour retention
- Use Only when conditions at the workflow level rather than individual actions when possible to avoid confusing skip behavior
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I have a Bubble app where a workflow runs but the data is not saving correctly. I can see the workflow triggers but the created record has empty fields. Can you help me create a debugging checklist to identify whether the issue is in the workflow actions, data source expressions, or privacy rules?
Help me debug why my workflow is running but the data is not appearing in my Repeating Group. I need to check the workflow actions, the Repeating Group's data source, and any privacy rules that might be blocking the search.
Frequently asked questions
How do I open the Debugger in Bubble?
Click the Preview button in the top-right corner of the editor. The Debugger toolbar appears at the bottom of the preview window. If it does not appear, add ?debug_mode=true to the URL.
Can I debug backend workflows with the step-by-step Debugger?
No. The step-by-step Debugger only works for frontend workflows. For backend workflows, use Server Logs in the Logs tab or create a Debug Data Type to manually log values at each workflow step.
Why does my workflow show an action as skipped?
An action is skipped when its Only when condition evaluates to false. Check the condition in the Debugger to see which expression returned 'no'. Note that subsequent actions still run even when a prior action is skipped.
How long are Server Logs retained?
On the Free plan, Server Logs are retained for 6 hours. Paid plans offer longer retention periods. Check your Logs tab promptly after testing to capture relevant entries.
What does the Issue Checker detect?
The Issue Checker finds missing data sources, broken references to deleted elements or workflows, type mismatches in dynamic expressions, and disconnected workflows. Red items are errors and yellow items are warnings.
Can RapidDev help debug complex Bubble app issues?
Yes. RapidDev's engineering team can diagnose and fix complex runtime issues including workflow logic errors, performance bottlenecks, and privacy rule conflicts that are difficult to trace with standard debugging tools.
Why does my Repeating Group show no data even though records exist?
The most common causes are: a Privacy Rule blocking the search (test with an admin user), incorrect constraints in the data source search, or the Repeating Group's type of content not matching the Data Type. Use the element inspector in debug mode to see the actual data source value.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation