본문 바로가기

코틀린

코루틴 디버깅

반응형

로그에서 코루틴 식별

디버깅 중에 코루틴을 식별할 필요가 있을 때가 있다.

private fun threadName() = Thread.currentThread().name

위 코드를 사용해서 Thread를 식별할 수 있다.

 

코루틴에 특정 이름 설정

물론 코루틴에 특정 이름을 설정하는 방법도 있다.

withContext(pool + CoroutineName("inner") {
}

위처럼 CoroutineName을 통해 가능하다. CoroutineNeme은 컨텍스트 요소 이므로 + 연산자로 사용해 설정할 수 있다.

디버거 감시 추가

Debug Tool 창의  [Variables] 부분에 New Watch 버튼과 브레이크 포인트를 통해 스레드의 이름을 감시할 수 있다.

Condition : Thread.currentThread().name.contains("main#2")를 조건으로 설정하여 브레이크 포인트를 해당 코루틴에만 적용하게 할 수 있다.

출처 : 코루틴 동시성 프로그래밍

반응형

'코틀린' 카테고리의 다른 글

inline, noinline, crossinline  (0) 2022.02.11
코루틴 컨텍스트 전환  (0) 2021.11.24
코틀린 Contracts  (0) 2021.02.07
코루틴 콘텍스트 (Context)  (0) 2021.01.03
코루틴 상태는 한 방향으로 이동  (0) 2020.12.21