Mobile Debugging

Diagnose React Native and Expo issues with Bash, Read, and Grep workflows.

Updated May 14, 2025
One-click install
npx skills add https://github.com/BabakBar/VibeKeeper --skill mobile-debugging
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Mobile Debugging
Source: https://github.com/BabakBar/VibeKeeper/tree/main/.claude/skills/debugging
Command: npx skills add https://github.com/BabakBar/VibeKeeper --skill mobile-debugging

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Debugging React Native and Expo apps can be slow and fragmented due to scattered logs, platform-specific quirks, and flaky builds. This Skill provides a structured guide to diagnose Metro bundler errors, native module failures, performance issues, and crash analyses, helping you cut debugging time dramatically.

Core Features & Use Cases

  • Unified debugging workflow: Step-by-step checks for Metro bundler, device/emulator logs, and console output.
  • Native module diagnosis: Guidance for iOS/Android native errors, pod installs, and rebuilds.
  • Performance & network: Tips for identifying slow renders, memory leaks, and debugging network calls.
  • Use Case: When your app crashes on launch, use these steps to reproduce, isolate, and fix the root cause.

Quick Start

To start debugging, reproduce the issue and ask for a prioritized fix plan. Then run cache-clearing and log-check commands:

  • Clear caches: npx expo start --clear; watchman watch-del-all; rm -rf node_modules && npm install
  • Reset native environments: cd ios && pod deintegrate && pod install && cd ..; adb shell pm clear com.yourapp || true
  • Review logs: npx react-native log-ios or npx react-native log-android

Frequently Asked Questions about Mobile Debugging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix Metro bundler errors in React Native?▼

Metro bundler errors stem from cache corruption or stale dependencies. Clear caches with `npx expo start --clear` and `watchman watch-del-all`, then reinstall node_modules. Review Metro logs for specific failure points—syntax errors, missing modules, or circular dependencies—and fix the source before restarting the bundler.

What's the fastest way to debug a React Native app crash?▼

Reproduce the crash consistently, then check logs from device or emulator using `npx react-native log-ios` or `npx react-native log-android`. Isolate whether the crash originates in JavaScript, native code, or a third-party module. Clear caches and reset native environments—pod deintegrate and adb shell pm clear—to rule out build artifacts before investigating the root cause.

Can I debug native module failures in Expo apps?▼

Yes. Expo apps with native modules require pod installs on iOS and gradle syncs on Android. When native modules fail, run `pod deintegrate && pod install` in the ios folder and rebuild. Check native build logs for linking errors, missing frameworks, or version mismatches between the module and the native SDK.

How do I identify performance issues and memory leaks in React Native?▼

Performance debugging involves profiling render performance, memory usage, and frame rates through device logs and Metro output. Use console logging to track slow component renders, then cross-reference with Metro bundler metrics and native memory reports. Network debugging helps isolate whether latency comes from JavaScript execution, bridge overhead, or backend calls.

Do I need to clear caches before rebuilding a React Native app?▼

Yes. Stale caches cause flaky builds and misleading logs. Always run `npx expo start --clear`, `watchman watch-del-all`, and `rm -rf node_modules && npm install` before a full rebuild. On Android, use `adb shell pm clear` to reset app state; on iOS, reset the pod environment with `pod deintegrate && pod install`.

Why should I check device logs when my Expo app fails?▼

Device and emulator logs capture native crashes, runtime errors, and system-level failures that Metro or console output miss. iOS logs expose framework errors and pod mismatches; Android logs show native module linker errors and ADB-level diagnostics. Unified log review across Metro, device, and console pinpoints whether the fault is in JavaScript, native code, or the bundler.