---
title: "Debugging & Troubleshooting"
description: "Choose the right logs and diagnostic tools for build failures, CloudCode execution, running apps, and OXIDE itself."
permalink: /docs/oxide/debugging/
---
# Debugging & Troubleshooting

Identify where the problem occurs before choosing a diagnostic tool. Building source, executing a backend task, and running an app on a device produce different evidence.

| Problem | Start here |
| --- | --- |
| A deploy or source build failed | [Build Logs](/docs/oxide/debugging/build-logs/) shows the backend, app, and CloudCode build operations. |
| A CloudCode task failed, did not run, or produced unexpected output | [CloudCode testing and logs](/docs/oxide/cloudcode/testing-and-logs/) covers invocation logs and common failure states. |
| Queued CloudCode work is waiting or paused | [CloudCode queues](/docs/oxide/cloudcode/queues/) shows queue depth, scheduled work, and pause controls. |
| A device reports an app or synchronization problem | [App Diagnostics Reports](/docs/oxide/debugging/app-diagnostics-reports/) includes device/runtime metadata and app logs. |
| A custom Container build or installation failed | [Container troubleshooting](/docs/oxide/create-and-manage-app-containers/#troubleshooting) covers configuration, build details, and download checks. |
| OXIDE will not load, a shortcut fails, or workspace controls are missing | [Troubleshoot the OXIDE workspace](/docs/oxide/debugging/common-troubleshooting-pointers/) covers editor and workspace recovery. |

## Establish the Context

Record the project, deployment, source version, and approximate time of the failure. For a device problem, also record its Runtime and Container versions and the steps that reproduce the issue.

Before repeating a test, check your [Testing deployment preference](/docs/oxide/testing-and-releases/configuring-testing-deployments/). Changing branches can change the target when you have a branch-specific override.

A successful build confirms that source was processed; it does not prove that every device has applied the update or that a CloudCode invocation succeeded. Follow [Release an app](/docs/oxide/testing-and-releases/release/#check-the-result) to check the release, then use the relevant runtime or invocation logs.
