
Mobile App Debugging
- 510 installs
- 305 repo stars
- Updated March 4, 2026
- aj-geddes/useful-ai-prompts
mobile-app-debugging is an agent skill that systematically diagnoses crashes, performance problems, and platform-specific bugs for developers shipping iOS and Android applications.
About
mobile-app-debugging is an aj-geddes/useful-ai-prompts agent skill that guides systematic diagnosis of iOS and Android crashes, performance regressions, and platform-specific defects. The skill addresses device hardware limits, mobile network conditions, connectivity failures, and OS-level behaviors that desktop debugging workflows miss. Reference guides and best practices walk agents through repro steps, log capture, and platform tooling before proposing fixes. Reach for mobile-app-debugging when an app crashes on device, stutters under load, or behaves differently across iOS and Android builds. Skip mobile-app-debugging for backend-only APIs, web SPAs, or desktop apps with no mobile target. The skill fits React Native, Flutter, native Swift/Kotlin, and hybrid stacks where agents need a structured mobile triage checklist instead of generic debugging advice.
- Platform-specific debugging for iOS using Xcode and Android using platform tools
- Handles device hardware limitations, memory issues, and mobile network conditions
- Includes memory graph inspection and retain cycle detection
- Covers app crashes (SIGABRT), performance bottlenecks, and connectivity problems
- Provides reference guides for both iOS and Android debugging workflows
Mobile App Debugging by the numbers
- 510 all-time installs (skills.sh)
- Ranked #86 of 596 Debugging skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill mobile-app-debuggingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 510 |
|---|---|
| repo stars | ★ 305 |
| Last updated | March 4, 2026 |
| Repository | aj-geddes/useful-ai-prompts ↗ |
How do you debug iOS and Android app crashes?
Systematically diagnose crashes, performance problems, and platform-specific bugs in iOS and Android applications.
Who is it for?
Mobile developers debugging crashes, performance issues, or platform-specific bugs on real iOS and Android devices.
Skip if: Backend API developers or web-only teams with no mobile client to diagnose on device.
When should I use this skill?
User reports mobile app crashes, device performance problems, platform-specific bugs, or connectivity issues on iOS or Android.
What you get
Root-cause diagnosis, platform-specific repro steps, and prioritized fix recommendations for mobile defects.
- Root-cause diagnosis
- Platform-specific fix recommendations
Files
Mobile App Debugging
Table of Contents
Overview
Mobile app debugging addresses platform-specific issues, device hardware limitations, and mobile-specific network conditions.
When to Use
- App crashes on mobile
- Performance issues on device
- Platform-specific bugs
- Network connectivity issues
- Device-specific problems
Quick Start
Minimal working example:
Xcode Debugging:
Attach Debugger:
- Xcode → Run on device
- Set breakpoints in code
- Step through execution
- View variables
- Console logs
View Logs:
- Xcode → Window → Devices & Simulators
- Select device → View Device Logs
- Filter by app name
- Check system logs for crashes
Inspect Memory:
- Xcode → Debug → View Memory Graph
- Identify retain cycles
- Check object count
- Monitor allocation growth
---
Common iOS Issues:
App Crash (SIGABRT):
// ... (see reference guides for full implementation)Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| iOS Debugging | iOS Debugging |
| Android Debugging | Android Debugging |
| Cross-Platform Issues | Cross-Platform Issues |
| Mobile Testing & Debugging Checklist | Mobile Testing & Debugging Checklist |
Best Practices
✅ DO
- Follow established patterns and conventions
- Write clean, maintainable code
- Add appropriate documentation
- Test thoroughly before deploying
❌ DON'T
- Skip testing or validation
- Ignore error handling
- Hard-code configuration values
Android Debugging
Android Debugging
Android Studio:
Attach Debugger:
- Run → Debug
- Set breakpoints
- Step through code
- Watch variables
- Evaluate expressions
Logcat:
- Displays all app logs
- Filter by tag
- Filter by process
- Show errors and warnings
Device Monitor:
- Memory profiler
- CPU profiler
- Network profiler
- Battery usage
---
Common Android Issues:
App Crash (ANR):
Cause: Long-running operation on main thread
Solution: Move to background thread
Example: Use AsyncTask or coroutines
Memory Leak:
Cause: Activity not garbage collected
Solution: Clear references in onDestroy
Debug: Android Profiler shows retained objects
Networking:
Issue: Network requests timeout
Check: Network connectivity
Solution: Implement timeout and retry
Test: Simulate poor networkCross-Platform Issues
Cross-Platform Issues
React Native Debugging:
Console Logs:
- Run app with: react-native run-android
- View logs: adb logcat | grep ReactNativeJS
- Or use remote debugger
Remote Debugging:
- Shake device → Enable Remote Debugging
- Chrome DevTools debugging
- Set breakpoints in JS
- Inspect state
Performance:
- Perf Monitor: Shake → Perf Monitor
- Shows FPS, RAM, Bridge traffic
- Identify frame drops
- Check excessive bridge calls
---
Flutter Debugging:
Device Logs: flutter logs
Shows all device and app output
Debugging: flutter run --debug
Set breakpoints in IDE
Step through code
Hot Reload: Useful for rapid iteration
Hot restart for full reload
Useful for debugging UI changes
---
Common Mobile Issues:
Network Connectivity:
Issue: App works on WiFi, fails on cellular
Solution: Test on both networks
Debug: Use network throttler
Implement: Retry logic, offline support
Device Specific:
Issue: Works on simulator, fails on device
Solution: Always test on real device
Causes:
- Memory constraints
- Performance differences
- Platform differences
- Screen size issues
Battery/Memory:
Issue: Excessive battery drain
Debug: Use power profiler
Optimize: Reduce background work
Monitor: Location tracking, networkingiOS Debugging
iOS Debugging
Xcode Debugging:
Attach Debugger:
- Xcode → Run on device
- Set breakpoints in code
- Step through execution
- View variables
- Console logs
View Logs:
- Xcode → Window → Devices & Simulators
- Select device → View Device Logs
- Filter by app name
- Check system logs for crashes
Inspect Memory:
- Xcode → Debug → View Memory Graph
- Identify retain cycles
- Check object count
- Monitor allocation growth
---
Common iOS Issues:
App Crash (SIGABRT):
Cause: Exception in Objective-C
Solution: Check console for error message
Debug: Set breakpoint on exception
Memory Warning (SIGKILL):
Cause: Too much memory usage
Solution: Reduce memory footprint
Optimize: Image caching, data structures
Networking:
Issue: Network requests fail on device
Check: Network connectivity status
Solution: Implement Network Link Conditioner
Test: Throttle network in XcodeMobile Testing & Debugging Checklist
Mobile Testing & Debugging Checklist
Device Testing:
[ ] Test on both iOS and Android
[ ] Test on old and new devices
[ ] Test with poor network (3G throttle)
[ ] Test in airplane mode
[ ] Test with low battery
[ ] Test with low memory
[ ] Test with location disabled
[ ] Test with notifications disabled
[ ] Test rotation changes
[ ] Test while backgrounded
Performance:
[ ] <16ms per frame (60 FPS)
[ ] Memory usage <100MB
[ ] Battery drain acceptable
[ ] Network requests efficient
[ ] Background tasks minimal
Networking:
[ ] Works on WiFi
[ ] Works on cellular
[ ] Handles network timeouts
[ ] Handles offline mode
[ ] Retries failed requests
[ ] Shows loading indicators
[ ] Shows error messages
UI/UX:
[ ] Responsive touch targets (44x44 min)
[ ] Readable text (16pt minimum)
[ ] Colors accessible
[ ] Orientation changes handled
[ ] Keyboard shows/hides correctly
[ ] Safe areas respected (notches)
---
Tools:
Testing Devices:
- iOS: iPhone SE (small), iPhone 12/13 (modern)
- Android: Pixel 4 (standard), Pixel 6 (new)
- Virtual: Simulators for iteration
Device Management:
- TestFlight (iOS)
- Google Play Beta (Android)
- Firebase Test Lab
- BrowserStack
Monitoring:
- Crashlytics
- Firebase Analytics
- App Performance Monitoring
- Custom event tracking#!/bin/bash
# scaffold-tests.sh - Generate test file scaffolding
# Usage: ./scaffold-tests.sh <source_file> [--framework jest|pytest|mocha]
set -euo pipefail
SOURCE_FILE="${{1:?Usage: $0 <source_file> [--framework jest|pytest|mocha]}}"
FRAMEWORK="${{2:-jest}}"
echo "Scaffolding tests for: $SOURCE_FILE (framework: $FRAMEWORK)"
# TODO: Implement test scaffolding logic
# - Parse source file for exported functions/classes
# - Generate test stubs for each export
# - Include setup/teardown boilerplate
# - Add common assertion patterns
echo "Test scaffolding complete."
// Test Template
// TODO: Customize for your testing framework and project
describe('ModuleName', () => {
// Setup
beforeEach(() => {
// TODO: Add test setup
});
afterEach(() => {
// TODO: Add cleanup
});
describe('functionName', () => {
it('should handle the happy path', () => {
// TODO: Add assertion
});
it('should handle edge cases', () => {
// TODO: Add edge case tests
});
it('should handle errors gracefully', () => {
// TODO: Add error handling tests
});
});
});
Related skills
How it compares
Pick mobile-app-debugging over generic debugging skills when issues involve device hardware, mobile networks, or OS-specific behavior.
FAQ
What platforms does mobile-app-debugging cover?
mobile-app-debugging from aj-geddes/useful-ai-prompts covers iOS and Android issues including crashes, performance problems, platform-specific bugs, connectivity failures, and device-specific constraints.
When should mobile-app-debugging activate?
mobile-app-debugging should activate when an app crashes on mobile, performance degrades on device, platform-specific bugs appear, or network connectivity issues affect iOS or Android users.