SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Отладка кода в браузере
Шувалов Антон
FrontendConf 2015
Отладка кода в браузере
2
• Зачем нужен console.log и почему он не
подходит для отладки?
• Как отладчик поможет вам?
Console
С чего всё началось?
4
console.log(), КАРЛ!
5
6
7
8
9
10
Что не так с console.log()
11
• Не точно
• Не подробно
• Медленно
console.log — не отладчик
12
но…
13
зачем нам console?
14
console
15
console.group
16
console.dir
17
console.assert
18
console.time
19
console.profile
20
console.profile
21
Возможности сonsole
22
• Сообщения, ошибки предупреждения
• log(), info(), warn(), error(), assert(), group(),
dir()
• Профилирование
• time(), profile()
Отладчик
23
Основы отладки
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Нет постоянных
перезагрузок страницы!
38
Управление ходом
исполнения программы!
39
Доступ к стеку вызовов!
40
Отлично работающий
REPL!
41
Работает с SourceMaps!
42
Что ещё интересного
в DevTools?
43
Watch Expressions
44
45
46
47
48
49
50
51
Работа со стеком
52
53
54
55
56
Отладка асинхронного кода
57
58
59
60
61
62
Console — для логов
63
DevTools — для отладки
64
Не забивайте гвозди
изолентой
65
66
twitter.com/shuvalov_anton
github.com/shuvalov-anton
Шувалов Антон

Contenu connexe

Similaire à Отладка кода в браузере

Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаYandex
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
Interactive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3DInteractive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3DDevGAMM Conference
 
Отладка и профилирование JavaScript/Ajax
Отладка и профилирование JavaScript/AjaxОтладка и профилирование JavaScript/Ajax
Отладка и профилирование JavaScript/AjaxAlexander Shurkayev
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...
Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...
Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...DevGAMM Conference
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?etyumentcev
 
Григорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестированияГригорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестированияYandex
 
Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?DevGAMM Conference
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»SpbDotNet Community
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
CiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assembler
CiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assemblerCiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assembler
CiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assemblerCiklum Ukraine
 
Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"
Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"
Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"Elias Fofanov
 
Облегчаем процесс разработки с помощью статического анализа кода: Наш опыт
Облегчаем процесс разработки с помощью статического анализа кода: Наш опытОблегчаем процесс разработки с помощью статического анализа кода: Наш опыт
Облегчаем процесс разработки с помощью статического анализа кода: Наш опытAndrey Karpov
 
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт АндрейDUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрейit-people
 
Автоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий ЛипинАвтоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий ЛипинYandex
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Alexander Babich
 
Максим Салов - Отладочный монитор
Максим Салов - Отладочный мониторМаксим Салов - Отладочный монитор
Максим Салов - Отладочный мониторMinsk Linux User Group
 

Similaire à Отладка кода в браузере (20)

Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кода
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Interactive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3DInteractive Lab: Разработка Flash игр на Unity3D
Interactive Lab: Разработка Flash игр на Unity3D
 
Отладка и профилирование JavaScript/Ajax
Отладка и профилирование JavaScript/AjaxОтладка и профилирование JavaScript/Ajax
Отладка и профилирование JavaScript/Ajax
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...
Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...
Продуктивность и производительность в новых скриптовых языках / Антон Юдинцев...
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Григорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестированияГригорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестирования
 
Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?Nival: Почему ваш Unity проект должен работать в консоли?
Nival: Почему ваш Unity проект должен работать в консоли?
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
CiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assembler
CiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assemblerCiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assembler
CiklumCPPSat: Anton Kukoba_Reassembling and restoring C/C++ from assembler
 
Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"
Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"
Никита Цуканов - "Avalonia UI Cross-platform Open Source UI Framework"
 
Облегчаем процесс разработки с помощью статического анализа кода: Наш опыт
Облегчаем процесс разработки с помощью статического анализа кода: Наш опытОблегчаем процесс разработки с помощью статического анализа кода: Наш опыт
Облегчаем процесс разработки с помощью статического анализа кода: Наш опыт
 
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт АндрейDUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
 
Автоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий ЛипинАвтоматизация нагрузочного тестирования — Григорий Липин
Автоматизация нагрузочного тестирования — Григорий Липин
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
 
Максим Салов - Отладочный монитор
Максим Салов - Отладочный мониторМаксим Салов - Отладочный монитор
Максим Салов - Отладочный монитор
 

Отладка кода в браузере