Available Debugging Tools
Expo provides multiple debugging methods:| Tool | Purpose | Platform |
|---|---|---|
| Chrome DevTools | JavaScript debugging, console, network | All |
| React DevTools | Component hierarchy, props, state | All |
| Expo DevTools | Dev menu, inspector, plugins | All |
| Xcode Debugger | Native iOS code | iOS |
| Android Studio | Native Android code | Android |
| Network Inspector | HTTP requests/responses | All |
JavaScript Debugging
Chrome DevTools
The primary tool for debugging JavaScript code.Enable debugging
- Shake device or press
Cmd+D(iOS) /Cmd+M(Android) - Select “Debug with Chrome”
Open DevTools
Chrome opens automatically at:Or manually open Chrome and press
Cmd+Option+J (Mac) / Ctrl+Shift+J (Windows/Linux).Console API
Use console methods for debugging:Source Maps
Ensure source maps are enabled for readable stack traces:app.json
React DevTools
Inspect React component tree, props, and state.Component Inspection
app/components/UserProfile.tsx
Performance Profiling
Network Debugging
Network Inspector
expo-dev-client includes a built-in network inspector.
View requests
See all HTTP requests:
- URL and method
- Status code and timing
- Headers and body
- Response data
Network Debugging Tools
utils/api.ts
Proxying Requests
For debugging with tools like Charles or Proxyman:app.json
Element Inspector
Visually inspect and debug UI elements.Inspect elements
Tap any UI element to see:
- Component name
- Props
- Styles
- Layout dimensions
- Position in hierarchy
Style Debugging
app/components/Card.tsx
Native Debugging
iOS with Xcode
Debug native iOS code and crashes.View console output
In Xcode:
- View > Debug Area > Show Debug Area (
Cmd+Shift+Y) - See native logs and crashes
Android with Android Studio
Debug native Android code.Attach debugger
- Run > Attach Debugger to Android Process
- Select your app process
- Choose “Java” debugger
Debugging Native Modules
When working with Expo modules:ios/Modules/MyModule/MyModule.swift
android/src/main/java/expo/modules/mymodule/MyModule.kt
Performance Debugging
Performance Monitor
Enable the performance overlay:- JavaScript frame rate
- UI frame rate
- Memory usage
- Views count
Profiling with Hermes
For better performance, use Hermes:app.json
React Native Performance
Troubleshooting
Debugger Won’t Connect
Source Maps Not Working
Performance Issues in Debug Mode
Debug mode is slower than production:Xcode: Process Launch Failed
Next Steps
DevTools
Explore Expo DevTools and plugins
Inspector
Use the element inspector
Error Handling
Handle errors and crashes
Testing
Set up automated testing