Slide 1

Slide 1 text

©2024 Theoria technologies All Rights Reserved. Rewind & Replay: Kotlin 2.2 ͕ม͑ΔCoroutine σόοά࠷લઢ 2025 11/01

Slide 2

Slide 2 text

©2024 Theoria technologies All Rights Reserved. 2 ✓ Coroutineσόοά৽ػೳΛཧղ͢Δ ✓ Before/AfterͰ՝୊ղܾΛମײ͢Δ ✓ ໌೔͔Β࢖͑Δ࣮ફతͳ஌ݟ ࠓ೔ͷΰʔϧ Section 1

Slide 3

Slide 3 text

©2024 Theoria technologies All Rights Reserved. 3 1. ΠϯτϩμΫγϣϯ 2. Coroutineσόοάͷʮҋʯ 3. ͳͥɺCoroutine͸Debug͕ࠔ೉ͳͷ͔ 4. Coroutineσόοάͷ5େվળ ໨࣍ Section 1

Slide 4

Slide 4 text

©2024 Theoria technologies All Rights Reserved. 4 ࣗݾ঺հ Section 1 ςΦϦΞɾςΫϊϩδʔζגࣜձࣾ ɹɹMasayukiSuda ɹɹdaasuu

Slide 5

Slide 5 text

©2024 Theoria technologies All Rights Reserved. 5 ೝ஌঱ͱͷ޲͖߹͍ํΛɺ ςΫϊϩδʔͰม͍͑ͯ͘ɻ Our Mission ྫ͑͹ɺϦεΫʹૣظʹؾ͖ͮɺରԠͰ͖Δ࢓૊ΈΛͭ͘Δɻ ͨͱ͑ൃ঱ͯ͠΋ͦͷਓΒ͍͠฻Β͠Λࢧ͑ΔαʔϏεΛಧ͚Δɻ ͲͷΑ͏ͳεςʔδͰ΋ɺ͝ຊਓ΍͝Ո଒ɺؔΘΔ͢΂ͯͷਓɺ ͻͱΓͻͱΓ͕ࣗ෼ʹ߹ͬͨํ๏Ͱೝ஌঱ͱ޲͖߹͏͜ͱ͕Ͱ͖ΔΑ͏ʹɻ ͦͯ͠ɺ ਓੜͷ࠷ޙͷॠؒ·Ͱɺ ࣗ෼Β͘͠"ੜ͖͖Δ"͜ͱ͕Ͱ͖ΔࣾձΛɺ ࣮ݱ͢ΔͨΊʹɻ

Slide 6

Slide 6 text

©2024 Theoria technologies All Rights Reserved. 6 ೝ஌঱ϓϥοτϑΥʔϜͷίϯηϓτϝΠΩϯά͔ΒιϦϡʔγϣϯ։ൃɺ σϦόϦʔͷ֦େΛਪਐ͢Δɻ ITػೳձࣾͰ͸ͳ͘ɺࣄۀձࣾͱͯ͠ΤʔβΠͱڞ૑͢Δɻ Co-Creating with Eisai ҙࢥܾఆ ࣄۀਪਐ ࣗࣾ։ൃ ҩྍ࿈ܞ ઓུࡦఆ ࣗࣾ։ൃϓϩμΫτʹΑΔՁ஋ఏڙ ౤ࢿ ࣄۀ΁ͷ౤ࢿ ࣏ݧɾίϗʔτσʔλ΁ͷΞΫηε ωοτϫʔΫɾਓࡒఏڙ

Slide 7

Slide 7 text

©2024 Theoria technologies All Rights Reserved. 7 Coroutineσόοάͷʮҋʯ Section 2

Slide 8

Slide 8 text

©2024 Theoria technologies All Rights Reserved. 8 ͋ͳͨ΋ܦݧͨ͠͸ͣ Section 2 ʮͳͥ͜ͷCoroutine͕ࢭ·ͬͯΔʁʯ ʮͲ͜Ͱsuspendͨ͠ʁʯ ʮStack Trace్͕੾ΕͯΔ…ʯ ʮม਺ͷ஋͕ݟ͑ͳ͍…ʯ

Slide 9

Slide 9 text

©2024 Theoria technologies All Rights Reserved. 9 ैདྷͷCoroutineσόοάͷ՝୊ Section 2 ❌ Stack Traceͷ෼அ ❌ ϩʔΧϧม਺ͷফࣦ ❌ εςοϓ࣮ߦͷෆ҆ఆ͞ ❌ ଟ਺ͷCoroutineͷঢ়ଶݕࠪͷࠔ೉͞

Slide 10

Slide 10 text

©2024 Theoria technologies All Rights Reserved. 10 ՝୊1: Stack Traceͷ෼அ Section 2

Slide 11

Slide 11 text

©2024 Theoria technologies All Rights Reserved. 11 ՝୊1: Stack Traceͷ෼அ Section 2

Slide 12

Slide 12 text

©2024 Theoria technologies All Rights Reserved. 12 ՝୊1: Stack Traceͷ෼அ Section 2

Slide 13

Slide 13 text

©2024 Theoria technologies All Rights Reserved. 13 ՝୊1: Stack Traceͷ෼அ Section 2

Slide 14

Slide 14 text

©2024 Theoria technologies All Rights Reserved. 14 ՝୊1: Stack Traceͷ෼அ Section 2 Stack Trace͕b()Ͱ్੾ΕΔʂ

Slide 15

Slide 15 text

©2024 Theoria technologies All Rights Reserved. 15 ࣮ࡍͷStack Traceʢैདྷʣ Section 2 b() Ҏ߱ͷ৘ใ͕ࣦΘΕΔ

Slide 16

Slide 16 text

©2024 Theoria technologies All Rights Reserved. 16 ՝୊2: Debug࣮ߦ࣌ʹϩʔΧϧม਺ͷফࣦ Section 2

Slide 17

Slide 17 text

©2024 Theoria technologies All Rights Reserved. 17 ՝୊2: Debug࣮ߦ࣌ʹϩʔΧϧม਺ͷফࣦ Section 2

Slide 18

Slide 18 text

©2024 Theoria technologies All Rights Reserved. 18 ՝୊2: Debug࣮ߦ࣌ʹϩʔΧϧม਺ͷফࣦ Section 2

Slide 19

Slide 19 text

©2024 Theoria technologies All Rights Reserved. 19 ՝୊3: εςοϓ࣮ߦͷෆ҆ఆ͞ Section 2 ϒϨʔΫϙΠϯτΛઃఆ Step Over/Into Λ࣮ߦ 👉 ҙਤͤͣผͷCoroutineʹॲཧ͕ඈͿ 👉 Ͳ͜Λ࣮ߦ͍ͯ͠Δ͔෼͔Βͳ͘ͳΔ

Slide 20

Slide 20 text

©2024 Theoria technologies All Rights Reserved. 20 ՝୊3: εςοϓ࣮ߦͷෆ҆ఆ͞ Section 2

Slide 21

Slide 21 text

©2024 Theoria technologies All Rights Reserved. 21 ՝୊3: εςοϓ࣮ߦͷෆ҆ఆ͞ Section 2

Slide 22

Slide 22 text

©2024 Theoria technologies All Rights Reserved. 22 ՝୊3: εςοϓ࣮ߦͷෆ҆ఆ͞ Section 2

Slide 23

Slide 23 text

©2024 Theoria technologies All Rights Reserved. 23 ՝୊4: ଟ਺ͷCoroutineͷঢ়ଶݕࠪͷࠔ೉͞ Section 2 Coroutine͸ܰྔͳͨΊଟ਺ੜ੒͞Ε͕ͪ ͔͠͠ 👉 ଟ͘ͷCoroutineঢ়ଶݕ͕ࠪࠔ೉ 👉 ͦΕͧΕͷCoroutineͷ໾ׂͷ೺Ѳ͕ࠔ೉

Slide 24

Slide 24 text

©2024 Theoria technologies All Rights Reserved. 24 ՝୊4: ଟ਺ͷCoroutineͷঢ়ଶݕࠪͷࠔ೉͞ Section 2

Slide 25

Slide 25 text

©2024 Theoria technologies All Rights Reserved. 25 σόοάͷݱ࣮ Section 2 ݁Ռ: • printlnσόοάʹཔΔ • ϩάΛେྔʹ࢓ࠐΉ • ࠶ݱʹ͕͔͔࣌ؒΔ • ຊ൪؀ڥͰͷτϥϒϧγϡʔτࠔ೉

Slide 26

Slide 26 text

©2024 Theoria technologies All Rights Reserved. 26 Section 3 ͳͥɺCoroutine͸Debug͕ࠔ೉ͳͷ͔

Slide 27

Slide 27 text

©2024 Theoria technologies All Rights Reserved. 27 suspend function Section 3 suspend function͸ී௨ͷؔ਺Ͱ͸ͳ͍

Slide 28

Slide 28 text

©2024 Theoria technologies All Rights Reserved. 28 ίϯύΠϥͷ಺෦ॲཧ Section 3 - suspend ͸“ෳ਺ճεϦʔϓ/΢ΣΠΫΞοϓՄೳ”Ͱ͋Δ͜ͱΛίϯύΠϥʹ఻͑Δम০ࢠ - ͢΂ͯͷ suspend ؔ਺ʹ͸ίϯύΠϥ͕Ӆ͠Ҿ਺ `Continuation` Λ෇༩ - Continuation ͸தஅ఺ͷ“ଓ͖”Λදݱ͠ɼresume() Ͱ࣮ߦΛ࠶։ - Continuation ͸“ϩʔΧϧม਺ͷอଘྖҬ”ͱͯ͠΋࢖ΘΕΔ

Slide 29

Slide 29 text

©2024 Theoria technologies All Rights Reserved. 29 Continuationͱ͸Կ͔ Section 3 - தஅ͞Ε࣮ͨߦϑϩʔͷ“εφοϓγϣοτ” - resume() ݺͼग़͠Ͱͦͷଓ͖͔Β࠶։ - νΣʔϯԽ͞Εɺݺͼग़ؔ͠܎ͷ෮ݩʹ΋ؔ༩ - ϩʔΧϧม਺ͷ஋Λอ࣋͢ΔͨΊͷετϨʔδ

Slide 30

Slide 30 text

©2024 Theoria technologies All Rights Reserved. 30 ؔ਺͸εςʔτϚγϯʹม׵͞ΕΔ Section 3 - suspend ؔ਺͸“Կ౓΋ى͖Δ”Մೳੑ͕͋ΔͨΊɺίϯύΠϥ͕εςʔτϚγϯ΁ม׵ - ؔ਺ͷ։࢝/֤αεϖϯγϣϯϙΠϯτޙʹϥϕϧʢstateʣΛ෇༩ - ϥϕϧʹԠͯ͡ॲཧϒϩοΫΛ੾ସ͑Δ࣮૷΁มܗ

Slide 31

Slide 31 text

©2024 Theoria technologies All Rights Reserved. 31 Code sample Section 3 suspend fun describe(identifier: String): String { val description = fetchDescription(identifier) val enhancedDescription = enhanceDescription(description) return enhancedDescription } suspend fun fetchDescription(identifier: String): String {} suspend fun enhanceDescription(description: String): String {}

Slide 32

Slide 32 text

©2024 Theoria technologies All Rights Reserved. 32 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { }

Slide 33

Slide 33 text

©2024 Theoria technologies All Rights Reserved. 33 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { val description = fetchDescription(identifier) val enhancedDescription = enhanceDescription(description) return enhancedDescription }

Slide 34

Slide 34 text

©2024 Theoria technologies All Rights Reserved. 34 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { // label 0 -> first execution val description = fetchDescription(identifier) val enhancedDescription = enhanceDescription(description) return enhancedDescription }

Slide 35

Slide 35 text

©2024 Theoria technologies All Rights Reserved. 35 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { // label 0 -> first execution val description = fetchDescription(identifier) // label 1 -> resuming val enhancedDescription = enhanceDescription(description) return enhancedDescription }

Slide 36

Slide 36 text

©2024 Theoria technologies All Rights Reserved. 36 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { // label 0 -> first execution val description = fetchDescription(identifier) // label 1 -> resuming val enhancedDescription = enhanceDescription(description) // label 2 -> resuming and terminating return enhancedDescription }

Slide 37

Slide 37 text

©2024 Theoria technologies All Rights Reserved. 37 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { when (stateMachine.label) { 0 -> { // label 0 -> first execution val description = fetchDescription(identifier) return } 1 -> { // label 1 -> resuming val enhancedDescription = enhanceDescription(description) return } 2 -> { // label 2 -> resuming and terminating return enhancedDescription } } }

Slide 38

Slide 38 text

©2024 Theoria technologies All Rights Reserved. 38 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { when (stateMachine.label) { 0 -> { // label 0 -> first execution val description = fetchDescription(identifier) stateMachine.label = 1 return } 1 -> { // label 1 -> resuming val enhancedDescription = enhanceDescription(description) stateMachine.label = 2 return } 2 -> { // label 2 -> resuming and terminating return enhancedDescription } } }

Slide 39

Slide 39 text

©2024 Theoria technologies All Rights Reserved. 39 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { when (stateMachine.label) { 0 -> { // label 0 -> first execution val description = fetchDescription(identifier) stateMachine.label = 1 return } 1 -> { // label 1 -> resuming val enhancedDescription = enhanceDescription(description) stateMachine.label = 2 return } 2 -> { // label 2 -> resuming and terminating return enhancedDescription } } }

Slide 40

Slide 40 text

©2024 Theoria technologies All Rights Reserved. 40 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { when (stateMachine.label) { 0 -> { // label 0 -> first execution val description = fetchDescription(identifier) continuation.description = description continuation.identifier = null stateMachine.label = 1 return } 1 -> { // label 1 -> resuming val enhancedDescription = enhanceDescription(description) continuation.enhancedDescription = enhancedDescription continuation.description = null stateMachine.label = 2 return } 2 -> { // label 2 -> resuming and terminating return continuation.enhancedDescription } } }

Slide 41

Slide 41 text

©2024 Theoria technologies All Rights Reserved. 41 Code sample Section 3 suspend fun describe(identifier: String, continuation: Continuation): String { when (stateMachine.label) { 0 -> { // label 0 -> first execution val description = fetchDescription(identifier) continuation.description = description continuation.identifier = null stateMachine.label = 1 return } 1 -> { // label 1 -> resuming val enhancedDescription = enhanceDescription(description) continuation.enhancedDescription = enhancedDescription continuation.description = null stateMachine.label = 2 return } 2 -> { // label 2 -> resuming and terminating return continuation.enhancedDescription } } }

Slide 42

Slide 42 text

©2024 Theoria technologies All Rights Reserved. 42 ͳͥϩʔΧϧม਺͕ফ͑Δͷ͔ʢLiveness Analysisʣ Section 3 ίϯύΠϥ࠷దԽ -JWFOFTT"OBMZTJTʢੜଘੑ෼ੳʣͰlޙͷϒϩοΫͰ࢖ΘΕͳ͍zม਺Λݕग़ ࢖Θͳ͍ม਺͸$POUJOVBUJPO͔ΒψϧԽഉআʢσόοΨʹݟ͑ͳ͍ʣ ཧ༝ ϝϞϦϦʔΫ๷ࢭʢ௕࣌ؒεϦʔϓதʹڊେΦϒδΣΫτΛอ࣋͠ͳ͍ʣ ྫ5#ͷσʔλΛอ࣋ͨ͠ม਺͕εϦʔϓ͠ଓ͚ΔࣄଶΛආ͚Δ

Slide 43

Slide 43 text

©2024 Theoria technologies All Rights Reserved. 43 ࠷దԽΛ๷͙؆қࡦ: println Section 3 ϙΠϯτ ม਺ΛQSJOUMO ʹ౉͢ͱl࢖༻͞ΕΔzͨΊɺ࠷దԽͷର৅͔Β֎Ε΍͍͢ σϝϦοτϩά͕૽͕͍͠ຊ൪ʹࠞೖ͠΍͍͢ύϑΥʔϚϯεӨڹ

Slide 44

Slide 44 text

©2024 Theoria technologies All Rights Reserved. 44 ݱࡏ Section 3 Kotlin 2.2 IntelliJ IDEA 2025.1

Slide 45

Slide 45 text

©2024 Theoria technologies All Rights Reserved. 45 Section 4 Coroutineσόοάͷ5େվળ

Slide 46

Slide 46 text

©2024 Theoria technologies All Rights Reserved. 46 5େվળ Section 3 ✅ ϩʔΧϧม਺อ࣋ ✅ Stack TraceҰ෦෮ݩ ✅ εςοϓ࣮ߦ ✅ Async Stack Trace ✅ Coroutine View ※Kotlin 2.2ɺIDEA 2025.1ͷ૊Έ߹ΘͤͰ࣮ݱ

Slide 47

Slide 47 text

©2024 Theoria technologies All Rights Reserved. 47 վળ1: ϩʔΧϧม਺อ࣋ Section 4

Slide 48

Slide 48 text

©2024 Theoria technologies All Rights Reserved. 48 վળ2: Stack TraceҰ෦෮ݩ Section 4 Coroutine ScopeΛඈͼӽ͑ͨ৔߹ 👉 Ͳ͔͜Βݺ͹Ε͔ͨ௥੻Մೳ

Slide 49

Slide 49 text

©2024 Theoria technologies All Rights Reserved. 49 վળ2: Stack TraceҰ෦෮ݩ Section 4

Slide 50

Slide 50 text

©2024 Theoria technologies All Rights Reserved. 50 վળ2: Stack TraceҰ෦෮ݩ Section 4

Slide 51

Slide 51 text

©2024 Theoria technologies All Rights Reserved. 51 վળ2: Stack TraceҰ෦෮ݩ Section 4

Slide 52

Slide 52 text

©2024 Theoria technologies All Rights Reserved. 52 վળ2: Stack TraceҰ෦෮ݩ Section 4

Slide 53

Slide 53 text

©2024 Theoria technologies All Rights Reserved. 53 վળ1: Stack TraceҰ෦෮ݩ Section 4 b() Ҏ߱ͷ৘ใ΋෮ݩ͞ΕͯΔ

Slide 54

Slide 54 text

©2024 Theoria technologies All Rights Reserved. 54 վળ2: Stack TraceҰ෦෮ݩ Section 4 Coroutine ScopeΛ௒͑ͳͯ͘΋෮ݩ͢Δํ๏͸ͳ͍ʁ

Slide 55

Slide 55 text

©2024 Theoria technologies All Rights Reserved. 55 վળ2: Stack Trace׬શ෮ݩ Section 4 ͋Γ·͢

Slide 56

Slide 56 text

©2024 Theoria technologies All Rights Reserved. 56 վળ2: Stack Trace෮ݩ Section 4 Stack trace decoroutinator An open source library https://github.com/Anamorphosee/stacktrace-decoroutinator

Slide 57

Slide 57 text

©2024 Theoria technologies All Rights Reserved. 57 վળ2: Stack trace decoroutinator Section 4 - Coroutineͷ“Wake upʢ࠶։ʣ”࣮૷Λ Java AgentͰஔ׵ - ࣮ߦ࣌ʹCoroutineͷݺͼग़͠νΣʔϯʹରԠ͢Δϝιου܈Λੜ੒ - ૬ޓݺͼग़͠Ͱ“࣮ελοΫ”෩ͷ࿈ͳΓΛܗ੒ͯ͠ྫ֎ʹࠞࡏ

Slide 58

Slide 58 text

©2024 Theoria technologies All Rights Reserved. 58 վળ2: Stack trace decoroutinator Section 4 - Coroutine࠶։ͷλΠϛϯάͰ“decoroutination”༻ͷϑϨʔϜΛ஫ೖ - ੜ੒ϝιου͸“funA → funB → funC → ...”ͷΑ͏ʹ࿈࠯ - ྫ֎ൃੜ࣌ɺ௨ৗͷframeͱฒΜͰ“෮ݩ͞Εͨݺͼग़͠ݩ”͕stackʹදΕΔ

Slide 59

Slide 59 text

©2024 Theoria technologies All Rights Reserved. 59 վળ2: Stack trace decoroutinator Section 4

Slide 60

Slide 60 text

©2024 Theoria technologies All Rights Reserved. 60 վળ2: Stack trace decoroutinator Section 4

Slide 61

Slide 61 text

©2024 Theoria technologies All Rights Reserved. 61 վળ2: Stack trace decoroutinator Section 4

Slide 62

Slide 62 text

©2024 Theoria technologies All Rights Reserved. 62 վળ2: Stack trace decoroutinator Section 4

Slide 63

Slide 63 text

©2024 Theoria technologies All Rights Reserved. 63 վળ2: Stack trace decoroutinator Section 4

Slide 64

Slide 64 text

©2024 Theoria technologies All Rights Reserved. 64 վળ2: Stack trace decoroutinator Section 4

Slide 65

Slide 65 text

©2024 Theoria technologies All Rights Reserved. 65 վળ2: Stack trace decoroutinator Section 4 dependencies { implementation(“dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm:2.5.7") }

Slide 66

Slide 66 text

©2024 Theoria technologies All Rights Reserved. 66 վળ2: Stack trace decoroutinator Section 4

Slide 67

Slide 67 text

©2024 Theoria technologies All Rights Reserved. 67 վળ2: Stack trace decoroutinator Section 4

Slide 68

Slide 68 text

©2024 Theoria technologies All Rights Reserved. 68 վળ2: Stack trace decoroutinator Section 4 ஫ҙ఺: - ࣮ߦ࣌ͷΦʔόʔϔου͸খ͘͞ͳ͍ - ຊ൪ӡ༻Ͱ͸ඇਪ঑ɺσόοά༻్ʹݶఆ - ໰୊࠶ݱ΍ݪҼ௥੻ͷ“࠷ޙͷ੾Γࡳ”ͱͯ͠׆༻

Slide 69

Slide 69 text

©2024 Theoria technologies All Rights Reserved. 69 վળ3: Coroutine୯ҐͰͷεςοϓ࣮ߦ੍ޚ Section 3 ಛఆͷCoroutine಺ͰσόοάΛܧଓ 👉 ผͷCoroutineʹඈ͹ͳ͍ 👉 suspendؔ਺΋εςοϓΦʔόʔՄೳ"

Slide 70

Slide 70 text

©2024 Theoria technologies All Rights Reserved. 70 վળ3: εςοϓ࣮ߦ Section 4

Slide 71

Slide 71 text

©2024 Theoria technologies All Rights Reserved. 71 վળ3: ରԠ͢Δσόοάૢ࡞ Section 4 ͜ͷػೳ͕࣮૷͞Ε͍ͯΔૢ࡞: • Step Over • Step Out • Smart Step Into • Run-to-Cursor

Slide 72

Slide 72 text

©2024 Theoria technologies All Rights Reserved. 72 վળ4: Async Stack Trace Section 4 - IntelliJ IDEAʹ౥ࡌͷσόοΨػೳ - CoroutineΛؚΉ“ඇಉظλεΫ”ͷىݯʙݱࡏΛؔ࿈෇͚ͯදࣔ

Slide 73

Slide 73 text

©2024 Theoria technologies All Rights Reserved. 73 Async Stack Trace Section 4

Slide 74

Slide 74 text

©2024 Theoria technologies All Rights Reserved. 74 վળ5: Coroutine View Section 4 IntelliJ IDEA 2025.1ͷ৽͍͠πʔϧ΢Οϯυ΢ • શCoroutineͷঢ়ଶΛදࣔ • Suspend/Resumeཤྺ • ਌ࢠؔ܎ͷՄࢹԽ

Slide 75

Slide 75 text

©2024 Theoria technologies All Rights Reserved. 75 Coroutine ViewͷεΫϦʔϯγϣοτ Section 4 σόοΨʔπʔϧ΢ΟϯυΡ಺ͷCoroutinesʹνΣοΫΛೖΕΔ

Slide 76

Slide 76 text

©2024 Theoria technologies All Rights Reserved. 76 վળ5: Coroutine View Section 4

Slide 77

Slide 77 text

©2024 Theoria technologies All Rights Reserved. 77 վળ5: Coroutine View Section 4

Slide 78

Slide 78 text

©2024 Theoria technologies All Rights Reserved. 78 վળ5: Coroutine View Section 4

Slide 79

Slide 79 text

©2024 Theoria technologies All Rights Reserved. 79 վળ5: Coroutine View Section 4

Slide 80

Slide 80 text

©2024 Theoria technologies All Rights Reserved. 80 Section 3

Slide 81

Slide 81 text

©2024 Theoria technologies All Rights Reserved. 81 վળ5: Coroutine View Section 4

Slide 82

Slide 82 text

©2024 Theoria technologies All Rights Reserved. 82

Slide 83

Slide 83 text

©2024 Theoria technologies All Rights Reserved. 83 Android ։ൃͷํ΁ Android StudioͰ͸😣😣😣 • Coroutine View • εςοϓ࣮ߦ • Async Stack Trace

Slide 84

Slide 84 text

©2024 Theoria technologies All Rights Reserved. 84 Android ։ൃͷํ΁ Stack trace decoroutinator Android API 14 or higher

Slide 85

Slide 85 text

©2024 Theoria technologies All Rights Reserved. 85 Special Thanks Debug Kotlin coroutines https://www.jetbrains.com/help/idea/debug-kotlin-coroutines.html Coroutine Debugging in IntelliJ IDEA | Alexey Merkulov https://www.youtube.com/watch?v=3vaAVtnrzAM Kotlin Coroutines - Debugging Tools Overview https://www.youtube.com/watch?v=InN1NzDNJrA Debugging the Future: Exploring Coroutine Debugger Tools | Nikita Nazarov https://www.youtube.com/watch?v=QomoVqZSXP0

Slide 86

Slide 86 text

©2024 Theoria technologies All Rights Reserved. 86 We are hiring ! ͋ͳͨͷٕज़Ͱೝ஌঱ʹؔΘΔਓʑͷະདྷΛม͑·͠ΐ͏

Slide 87

Slide 87 text

©2024 Theoria technologies All Rights Reserved. 87 End Of doc.