Question: How do you debug react-native when it is running on device ?

Answer: 
Figured our React Native debugging for Android. Steps to for someone struggling with this -

1. Launch your RN App
2. Shake device
3. Select "Dev Settings"
4. Select "Debug server host & port for device" Put in your system's IP address.
5. Shake device
6. Select "Debug JS remotely"
7. Chrome will open a new tab with the address "<http://localhost:8081/debugger-ui>"
8. If this doesn't happen, check your port and open a new tab and enter the above address with your port number.
9. Open #Chrome DevTools (Cmd+Alt+I on #MacOSX)
10. Select the Console Tab
11. Shake Device
12. Select "Reload"

View all your console logs or use "debugger;" in your JS for breakpoint debugging.
***2*** options exist:

**Remote debug:** this would go over network, so it can be laggy.
-----------------------------------------------------------------

1. Run app on device (install it whilst its plugged in)
2. Shake device (Android devices need to be **vigorously shaken**)
3. Press `settings` on the dev menu, and under `Debugging`, press `Debug server host and port for device`
4. Enter your debug server's IP address and port (usually 8081 unless you changed your settings of the debug server), e.g. 255.255.255.255:8081. Your ip address is the local IP address that your computer has. Ensure the device is on the same network. For mac users, open `System Preferences` → `Network` → `Wifi` → Under `Status: connected`, there is an IP address, use that.
5. You can unplug the device
6. Ensure debug mode is on (Shake device vigorously again, press Debug)

Wired debug: relatively better for slow connections
---------------------------------------------------

1. Install app on phone
2. If android, set up port forwarding with `adb reverse tcp:8081 tcp:8081` and if iOS, follow the steps from [RN docs](https://facebook.github.io/react-native/docs/debugging.html#debugging-on-a-device-with-chrome-developer-tools))
3. Enable debug on device