React Native Integration & Best Practices: Debugging
Debugging
This guide provides an overview of how to debug the React Native app in an Archibald project. The templates run React Native 0.85 on Expo 56, where debugging goes through Hermes and the Chrome DevTools Protocol.
Starting the app
arc serve -p app -n
-p app selects the platform, -n runs it as a native build. If the project has automatic platform detection enabled, -p app alone is enough.
React Native DevTools
React Native DevTools is the built-in debugger and the one to reach for by default. With the dev server running, press j in the terminal to open it, or pick Open debugger from the in-app dev menu (shake the device, or ⌘+D / Ctrl+M in a simulator).
It gives you a console, breakpoint debugging against the Hermes engine, a network inspector, a memory profiler and the React Components/Profiler panels — the things that previously required separate tools.
Element inspector
For layout problems, the in-app Element Inspector (dev menu → Toggle element inspector) highlights the component tree and its box model directly on the device, which is usually faster than attaching a debugger.
Tools you may find referenced in older React Native guides no longer apply here:
- Flipper was removed from React Native in 0.73 and is not part of Archibald — there is no Flipper dependency or configuration anywhere in the framework.
- The standalone React Native Debugger app and remote JS debugging via
http://localhost:8081/debugger-ui/were removed along with the legacy JS debugging pipeline. React Native DevTools replaces both.
Logs
console.log output is streamed to the terminal running the dev server and to the React Native DevTools console. For native crashes that happen before the JS runtime is up, read the platform logs directly — adb logcat on Android, Console.app or Xcode's log window on iOS.