Skip to main content
Version: Next

네이티브 코드 디버깅

로그 확인하기

실행 중인 iOS 또는 Android 앱의 네이티브 로그를 확인하려면 터미널에서 다음 명령어를 사용한다:

shell
# Android:
npx react-native log-android
# iOS:
npx react-native log-ios

iOS 시뮬레이터에서는 Debug > Open System Log… 메뉴를 통해, Android 기기나 에뮬레이터에서는 adb logcat "*:S" ReactNative:V ReactNativeJS:V 명령어를 실행해 로그를 확인할 수도 있다.

💡 커스텀 네이티브 로그

네이티브 모듈을 작성할 때 디버깅을 위해 커스텀 로그를 추가하려면 다음 방법을 사용할 수 있다:

Android (Java/Kotlin)

네이티브 모듈에서 Log 클래스를 사용해 Logcat에서 확인할 수 있는 로그를 추가한다:

java
import android.util.Log;

private void log(String message) {
Log.d("YourModuleName", message);
}

Logcat에서 이 로그를 보려면, YourModuleName을 커스텀 태그로 바꿔서 다음 명령어를 사용한다:

shell
adb logcat "*:S" ReactNative:V ReactNativeJS:V YourModuleName:D

iOS (Objective-C/Swift)

네이티브 모듈에서 커스텀 로그를 남기려면 NSLog를 사용한다:

objective-c
NSLog(@"YourModuleName: %@", message);

Swift에서는 다음과 같이 작성한다:

swift
print("YourModuleName: \(message)")

앱을 실행하면 이러한 로그들이 Xcode 콘솔에 표시된다.

네이티브 IDE에서 디버깅하기

네이티브 모듈을 작성할 때와 같이 네이티브 코드를 다룰 때는 Android Studio나 Xcode에서 앱을 실행하고, 일반 네이티브 앱을 빌드할 때와 마찬가지로 네이티브 디버깅 기능(브레이크포인트 설정 등)을 활용할 수 있다.

또 다른 방법은 React Native CLI를 사용해 애플리케이션을 실행한 후, 네이티브 IDE(Android Studio 또는 Xcode)의 네이티브 디버거를 해당 프로세스에 연결하는 것이다.

Android Studio에서 이 작업을 수행하려면 메뉴 바의 "Run" 옵션으로 이동한 후, "Attach to Process..."를 클릭하고 실행 중인 React Native 앱을 선택하면 된다.

Xcode에서 상단 메뉴 바의 "Debug"를 클릭한 후, "Attach to process" 옵션을 선택한다. 그런 다음 "Likely Targets" 목록에서 원하는 애플리케이션을 선택한다.