React Native DevTools 36,878 sees only JavaScript. For Kotlin, Java or C++ (a Turbo Native Module like Storage and Native Modules's, or a crash inside a library), use the platform's tools. After npx expo prebuild, open the android/ folder in Android Studio 234 , set breakpoints in the Kotlin sources, and choose Run > Attach Debugger to Android Process for the running debug build; the Logcat, Layout Inspector and CPU and memory profilers work as for any Android app (Android with Kotlin). On macOS, npx expo prebuild --platform ios and xed ios open the Xcode 10 workspace, where you run the app on a Simulator and pause in Swift or Objective-C (not run here).
Without an IDE, logcat already separates the layers. Filtered to BookNest's process and to errors, it showed the JavaScript errors of Common Errors and the Red Box under the ReactNativeJS tag, next to a message from the native React 7,897 host that no JavaScript tool would have shown:
pid=$(adb -s emulator-5554 shell pidof -s com.anonymous.booknest)
adb -s emulator-5554 logcat -d --pid=$pid -v brief '*:E'...
E/unknown:ReactHost( 9485): Unhandled SoftException
...
E/ReactNativeJS( 9485): Checkout failed: 402 Payment Required
...
E/ReactNativeJS( 9485): { [TypeError: Cannot read property 'title' of undefined]The soft exception, a ReactNoCrashSoftException for an onWindowFocusChange event that arrived before the React host could take it, is React Native 36,878 reporting a problem it chose not to crash on. A native crash, by contrast, ends the process, and its stack trace appears only here, under AndroidRuntime for Kotlin or as a tombstone for C++.