Skip to main content

네이티브 코드 디버깅

로그 확인하기​

앱이 실행 중일 때 터미널에서 다음 명령어를 사용해 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에서 디버깅하기​

네이티브 모듈을 작성할 때와 같이 네이티브 코드를 작업하는 경우, 안드로이드 스튜디오나 Xcode에서 앱을 실행하고 표준 네이티브 앱을 빌드할 때와 마찬가지로 네이티브 디버깅 기능(중단점 설정 등)을 활용할 수 있다.

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

Android Studio​

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

Xcode​

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