SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
Отладка кода в браузере
Шувалов Антон
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
Шувалов Антон

Mais conteúdo relacionado

Mais procurados

Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Ontico
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net framework
jskonst
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Yandex
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
jskonst
 
Beminar js
Beminar jsBeminar js
Beminar js
Yandex
 
bem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформыbem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформы
Yandex
 

Mais procurados (20)

Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)
 
Прототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
Прототипирование с БЭМ — Антон Виноградов, Альфа-ЛабПрототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
Прототипирование с БЭМ — Антон Виноградов, Альфа-Лаб
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
 
Преимущества компонентной разработки для тестирования интерфейсов
Преимущества компонентной разработки для тестирования интерфейсовПреимущества компонентной разработки для тестирования интерфейсов
Преимущества компонентной разработки для тестирования интерфейсов
 
Вебинар по БЭМ: сборка и оптимизация проекта
Вебинар по БЭМ: сборка и оптимизация проектаВебинар по БЭМ: сборка и оптимизация проекта
Вебинар по БЭМ: сборка и оптимизация проекта
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Вебинар по БЭМ: верстаем веб-страницу
Вебинар по БЭМ: верстаем веб-страницуВебинар по БЭМ: верстаем веб-страницу
Вебинар по БЭМ: верстаем веб-страницу
 
Библиотека bem-components — Ангелина Сидорцова, Яндекс
Библиотека bem-components  — Ангелина Сидорцова, ЯндексБиблиотека bem-components  — Ангелина Сидорцова, Яндекс
Библиотека bem-components — Ангелина Сидорцова, Яндекс
 
UI Kit and design developig workflow
UI Kit and design developig workflowUI Kit and design developig workflow
UI Kit and design developig workflow
 
About emacs
About emacsAbout emacs
About emacs
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net framework
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
WebAssembly and Blazor
WebAssembly and BlazorWebAssembly and Blazor
WebAssembly and Blazor
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
Beminar js
Beminar jsBeminar js
Beminar js
 
bem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформыbem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформы
 
Ide
IdeIde
Ide
 
83
8383
83
 

Semelhante a Отладка кода в браузере / Антон Шувалов (Rambler&Co)

Отладка кода в браузере Антон Шувалов, Lazada, Москва
 Отладка кода в браузере Антон Шувалов, Lazada, Москва  Отладка кода в браузере Антон Шувалов, Lazada, Москва
Отладка кода в браузере Антон Шувалов, Lazada, Москва
it-people
 
Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
Yandex
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
mcslayer
 
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
Ciklum 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
 
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт АндрейDUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
DUMP-2013 Serverside - Внутренняя кухня JIT компилятора - Старовойт Андрей
it-people
 

Semelhante a Отладка кода в браузере / Антон Шувалов (Rambler&Co) (20)

Отладка кода в браузере Антон Шувалов, Lazada, Москва
 Отладка кода в браузере Антон Шувалов, Lazada, Москва  Отладка кода в браузере Антон Шувалов, Lazada, Москва
Отладка кода в браузере Антон Шувалов, Lazada, Москва
 
Алексей Андросов - 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?
 
Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
 
Григорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестированияГригорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестирования
 
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 компилятора - Старовойт Андрей
 

Mais de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Mais de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Отладка кода в браузере / Антон Шувалов (Rambler&Co)