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.