Slide 1

Slide 1 text

גࣜձࣾΩοζελʔ CTO ৿ɹ఩࠸ Managed Debugger
 ͷ࢖͍ํΛ͝঺հ ·ͩ Debug.Log() ࢖ͬͯΔͷʂʁ
 Unity 2018.2 ࣌୅ͷϞμϯͳσόοάख๏͸ίϨͩʂ 2018/11/28 Gotanda.unity #9 at Unity Technologies Japan

Slide 2

Slide 2 text

͜Μ͹Μ͸ʂ 2

Slide 3

Slide 3 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 3 ΞδΣϯμ

Slide 4

Slide 4 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 4 ΞδΣϯμ ΠϚίί

Slide 5

Slide 5 text

ࠓ೔ͷ͓࿩ͷ֓ཁ 5

Slide 6

Slide 6 text

•Unity σόοά׬શʹཧղ͍ͨ͠ਓ •UniRx ͱ͔ͰϥϜμࣜΛ࢖͏ͱ
 ʮελοΫτϨʔε͕ಡΈͮΒ͍…ʂʯ
 ͬͯࢥ͍ͬͯΔਓ •iOS ͱ͔ Android ͱ͔ͷ
 ࣮ػσόοάͰࢮʹͦ͏ʹͳͬͯΔਓ 6 ࠓ೔ͷର৅ऀ ֓ཁ

Slide 7

Slide 7 text

•֤σόοάख๏ͷ࢖͍Ͳ͜Ζ •JetBrains Rider Λ༻͍ͨ Managed Debugger ͷ࢖͍ํ 7 ࠓ೔࿩͢ίτ ֓ཁ

Slide 8

Slide 8 text

•JetBrains Rider Ҏ֎ͷ IDE ʹ
 ԙ͚ΔσόοΨͷ࢖͍ํ •ίϯγϡʔϚήʔϜػʹԙ͚Δ
 σόοΨͷ࢖͍ํ 8 ࠓ೔࿩͞ͳ͍ίτ ֓ཁ

Slide 9

Slide 9 text

•Unity 2018.3.0b11
 ʹͯಈ࡞֬ೝ͓ͯ͠Γ·͢ •JetBrains Rider 2018.3 EAP 7
 ʹͯಈ࡞֬ೝ͓ͯ͠Γ·͢ •IL2CPP Backend ͳ iOS ϏϧυΛ
 iOS 12.1 Ͱಈ࡞֬ೝ͓ͯ͠Γ·͢ 9 ։ൃ؀ڥ ֓ཁ

Slide 10

Slide 10 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 10 ΞδΣϯμ ΠϚίί

Slide 11

Slide 11 text

ࣗݾ঺հ 11

Slide 12

Slide 12 text

12 Who am I ? ࣗݾ঺հ @monry a.k.a. ΋ΜΓ͌ઌੜ

Slide 13

Slide 13 text

13 Who am I ? ࣗݾ঺հ •2019-2020 Microsoft MVP
 for Developer Technologies •ࣗশ Unity ΤϰΝϯδΣϦετ

Slide 14

Slide 14 text

14 Job ࣗݾ঺հ ࢠͲ΋޲͚ΞϓϦ࡞ͬͯΔձࣾͰ $50΍ͬͯ·͢

Slide 15

Slide 15 text

15 Recruit ࣗݾ঺հ •Unity ͰͷΞχϝʔγϣϯ࡞Γ΍
 γʔϯ࡞ΓͳͲΛߦ͏
 Unity ΞʔςΟετ •Πϥετ੍࡞΍ը໘σβΠϯΛߦ͏
 σβΠφɾΠϥετϨʔλ

Slide 16

Slide 16 text

16 PR ࣗݾ঺հ ϚϯΨͰΘ͔Δ Unity ޷ධ࿈ࡌதʂ

Slide 17

Slide 17 text

17 PR ࣗݾ঺հ #΋ͷϥδ ύʔιφϦςΟ΍ͬͯ·͢ʂ ήετืूதʂ

Slide 18

Slide 18 text

ຊ୊ 18

Slide 19

Slide 19 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 19 ΞδΣϯμ ΠϚίί

Slide 20

Slide 20 text

σόοάख๏͋Ε͜Ε 20

Slide 21

Slide 21 text

21 σόοάख๏ σόοάख๏ ໨ࢹ צ ϩά σόοΨ σόοΨ

Slide 22

Slide 22 text

•Editor Ͱͷ࣮૷தͳΒɺ·͊ΞϦ •ͨͩ͠ɺϩάΛ௥Ճɾมߋ͢Δ౓ʹ
 ίϯύΠϧ͕૸ΔͷͰ
 ڊେϓϩδΣΫτͩͱγϯυΠ •࣮ػͰͷσόοά͸౎౓Ϗϧυ͕
 ඞཁʹͳΔͷͰඇݱ࣮త 22 Debug.Log() ͡Όμϝʁ σόοάख๏

Slide 23

Slide 23 text

•σόοάΛิॿ͢Διϑτ΢ΣΞ •Breakpoint Λுͬͯϓϩηε͕
 ౰֘ߦʹࢸͬͨ࣌ʹҰ࣌ఀࢭ •Ұ࣌ఀࢭ࣌఺ͷม਺ͷঢ়ଶΛղੳ •ͦ͜ʹࢸΔελοΫτϨʔεΛදࣔ 23 σόοΨ is Կʁ σόοάख๏

Slide 24

Slide 24 text

•Visual Studio ΍ JetBrains Rider
 ͳͲͷ IDE ʹ౥ࡌ͞Ε͍ͯΔ •Visual Studio Code Ͱ΋֦ுػೳͱͯ͠
 ΠϯετʔϧՄೳʢΒ͍͠ʣ •ίϯςΩετʹΑͬͯ͸σόοάΛઐ໳ͱ͢Δ
 δϣϒͷਓΛࢦ͢ίτ΋͋Δ 24 σόοΨ is Կʁ σόοάख๏

Slide 25

Slide 25 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 25 ΞδΣϯμ ΠϚίί

Slide 26

Slide 26 text

Live Demo 26

Slide 27

Slide 27 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 27 ΞδΣϯμ ΠϚίί

Slide 28

Slide 28 text

σόοΨͷ࢖͍ํ 28

Slide 29

Slide 29 text

ηΫγϣϯλΠτϧ •Ϗϧυ࣌ͷΦϓγϣϯ •Development Build •Script Debugging •Wait For Managed Debugger
 Λ෇͚Δͱɺىಈ௚ޙʹ
 μΠΞϩά͕ग़ͯ
 σόοΨ઀ଓΛ଴ͯΔ 29 σόοΨͷ࢖͍ํ σόοΨͷ࢖͍ํ Unity 2018.2 ͔Β IL2CPP Backend Ͱ΋ Script Debugging Մೳʹ

Slide 30

Slide 30 text

ηΫγϣϯλΠτϧ •Wait For Managed Debugger
 Λ෇͚Δͱىಈ࣌ʹ
 μΠΞϩά͕ग़Δ •Ok ϘλϯΛԡ͢·Ͱ
 ϓϩηε͕Ұ࣌ఀࢭͯ͠
 ͘ΕΔͷͰɺͦͷؒʹ
 σόοΨΛ઀ଓ͢Δ 30 σόοΨͷ࢖͍ํ σόοΨͷ࢖͍ํ

Slide 31

Slide 31 text

ηΫγϣϯλΠτϧ •Debugger ઀ଓ •ಉҰ LAN ಺ʹډΔ
 ϓϩηεΛ୳ͯ͘͠ΕΔ •Editor ΋࣮ػ΋ର৅ 31 σόοΨͷ࢖͍ํ σόοΨͷ࢖͍ํ

Slide 32

Slide 32 text

ηΫγϣϯλΠτϧ •Breakpoint ΛுΔ •Breakpoint ʹରͯ͠
 ৚݅ࣜΛઃఆՄೳ
 ʢ࣮ػͩͱո͍͠ʁʣ •εΫγϣ͸ this ͕ null ͷ৔߹ʹࢭΊ͍ͯΔ 32 σόοΨͷ࢖͍ํ σόοΨͷ࢖͍ํ Unity ͋Δ͋Δ

Slide 33

Slide 33 text

ηΫγϣϯλΠτϧ •Exception Λ Watch •Exception ൃੜ࣌఺Ͱ
 ࢭΊͯ͘ΕΔ •ӈԼͷεΫγϣͷ৔߹
 transform ࢀর࣌఺Ͱ
 NullReferenceException ͕
 ൃੜ͍ͯ͠Δ 33 σόοΨͷ࢖͍ํ σόοΨͷ࢖͍ํ

Slide 34

Slide 34 text

•LT ֓ཁ •ࣗݾ঺հ •σόοάख๏͋Ε͜Ε •ϥΠϒσϞ •σόοΨͷ࢖͍ํ •·ͱΊ 34 ΞδΣϯμ ΠϚίί

Slide 35

Slide 35 text

·ͱΊ 35

Slide 36

Slide 36 text

•σόοΨΛ࢖͑͹ಡΈਏ͍Τϥʔ΋
 ղੳ͠΍͘͢ͳΔʂ •Xcode ܨ͕ͳͯ͘΋࣮ػσόοάՄೳʂ •Managed Code ͰσόοάͰ͖Δʂ •Visual Studio ͳΓ Rider ͳΓ
 ศརͳ IDE Λੵۃతʹ࢖͍ͬͯ͜͏ʂ 36 ·ͱΊ ·ͱΊ Unity 2018.2 ͔Β

Slide 37

Slide 37 text

•ຊ೔࢖ͬͨσϞϓϩδΣΫτ • https://github.com/monry/debugger_demo 37 Appendix

Slide 38

Slide 38 text

Thank you for your attention!! 38