Top Banner
김희준 / Ascan 디버깅, 어디까지 해봤니? 당신이 아마도 몰랐을 디버깅 꿀팁 공개
21

[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Apr 14, 2017

Download

Software

Sang Don Kim
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

김희준 / Ascan

디버깅, 어디까지 해봤니? 당신이 아마도 몰랐을 디버깅 꿀팁 공개

Page 2: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Agenda

• Visual Studio 2015의 새로운 디버깅 기능

• Visual Studio 활용 디버깅 (IntelliTrace)

• Visual Studio Debugging Tips

Page 3: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015의 새로운 디버깅 기능

• 새로운 플랫폼 – 안드로이드 지원

• 향상된 Exception, breakpoint UI, Edit and Continue

• 더 가까워진 퍼포먼스 측정과 분석 • Diagnostic Tools

• PerfTips

Page 4: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015의 새로운 디버깅 기능

• 프로파일링? 그게 뭔가요? • 돌아가기만 해도 감사할 뿐…

• 난 이미 틀렸어, 먼저 가…

• Diagnostics Tools Window • F5 = 디버깅 + 프로파일링!

• 통합된 정보 • Events – BP, Exception…

• Memory Usage – Private Bytes

• CPU Usage - Perftips

Page 5: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015의 새로운 디버깅 기능

• Stopwatch class, QueryPerformanceCounter, GetTickCount..

• 심볼 로딩한 시간? 디버거에서 멈추기라도 했다면?

• PerfTips • Community Edition에서도 가능!

• C#/VB/C++ • Python(PTVS) not supported

Page 6: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015

Diagnostics Tools

Page 7: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015의 새로운 디버깅 기능

VS 2013 VS 2015

Page 8: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

VS 2015 New Breakpoint

(Tracepoint 활용한 손쉬운 로그출력)

Page 9: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015의 새로운 디버깅 기능

VS 2013 VS 2015

Page 10: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 2015의 새로운 디버깅 기능

• Watch, Immediate window • Lambda 지원

VS 2013

VS 2015

Page 11: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Exception Window &

Watch/Immediate Window

Page 12: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio 활용 디버깅

• IntelliTrace

• 잡기 어려운 버그… • 어디서 깨진거야?

• 실행을 녹화한다면? • Historical debugging

• 과거 이벤트..

• 콜스택, 호출 정보

• 제약사항 • .NET Framework 2.0 above

https://flic.kr/p/75YJrP

Page 13: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

IntelliTrace

Page 14: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio Debugging Tips

• 원하는 위치로 빨리 디버깅 하기 • Run To Cursor, Step Over

• Step Into Specific

• Pseudo-variables • @err, $ReturnValue, $ReturnValuen (or Auto window…)

• @env

• Datatips + Expression Evaluation

• Native Visualizer(NatVis)

Page 15: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio Debugging Tips

• Native Visualizer(NatVis) • STL: stl.natvis

• Utility

Page 16: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Run To Cursor, Step Over

DataTips

Pseudo-vars

NatVis

Page 17: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Visual Studio Debugging Tips

• 멀티 스레드 디버깅 • Parallel Stacks

• Parallel Watch

Page 18: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

멀티스레드 디버깅

Page 19: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

Sample

• https://github.com/heejune/td2015

Page 20: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

감사합니다.

• MSDN Forum http://aka.ms/msdnforum

• TechNet Forum http://aka.ms/technetforum

Page 21: [Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)

http://aka.ms/td2015_again

TechDays Korea 2015에서 놓치신 세션은 Microsoft 기술 동영상 커뮤니티 Channel 9에서

추후에 다시 보실 수 있습니다.