Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Debugger Statementについて
Search
Taketoshi Aono(青野健利 a.k.a brn)
March 20, 2018
Programming
1
550
Debugger Statementについて
Debugger Statementの紹介と使い方
proposal-debugger-operandsについて
Taketoshi Aono(青野健利 a.k.a brn)
March 20, 2018
Tweet
Share
More Decks by Taketoshi Aono(青野健利 a.k.a brn)
See All by Taketoshi Aono(青野健利 a.k.a brn)
document.write再考
brn
6
2.9k
Parsing Javascript
brn
12
9k
JSON & Object Tips
brn
1
400
CA 1Day Youth Bootcamp for Frontend LT
brn
0
790
Modern TypeScript
brn
2
750
javascript - behind the scene
brn
3
680
tc39 proposals
brn
0
780
プロダクト開発とTypeScript
brn
8
2.8k
React-Springでリッチなアニメーション
brn
1
600
Other Decks in Programming
See All in Programming
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
EventSourcingの理想と現実
wenas
6
2.3k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
100
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
320
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
280
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Cult of Friendly URLs
andyhume
78
6k
Rails Girls Zürich Keynote
gr2m
94
13k
How to Ace a Technical Interview
jacobian
276
23k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
The Pragmatic Product Professional
lauravandoore
31
6.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Why Our Code Smells
bkeepers
PRO
334
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Transcript
Debugger Statement
Name @brn (ꫬꅿ⨳ⵃ) Occupation ؿٗٝزؒٝسؒٝآص،٥ط؎ذ؍ـؒٝآص، Company Cyberagent ،سذؙأةآؔ AI Messenger
OSS Contributor of V8 About http://info.b6n.ch
What is debugger? debugger statementהכ؝٦س⚥ח剅ֻֿהדرغحؖ饯⹛׃ـ ٖ؎ؙ׃גֻ堣腉
const ret = foo()! if (ret) {! debugger;! }!
None
In V8 BytecodeהJIT؝٦سדⰟ鸐ךⳢ椚遤ֲ
Bytecode DebuggerعٝسָٓDebuggerغ؎ز؝٦س鋅אֽה Runtime_HandleDebuggerStatementㄎן⳿׃גծ✲ח涫 ꐮׁגְ؝٦ٕغحؙㄎן⳿ׅ In V8
JIT Code JIT⻉ך麓玎דㄏ⟀ך⽃秪⻉הְֲ剑黝⻉ָ遤ָծך麓 玎דDebugger Statementכ⯓玎ך Runtime_HandleDebuggerStatementㄎן⳿׃ך؝٦سפה湫 䱸㢌䳔ׁ In V8
Break Point אְדזךדBreakpointחאְג ـٓؐؠך؎ٝألؙةַ䭷㹀ֿׅהָדֹ • In V8
None
In V8 DebugBreakכDebugger Statementה麩גוֿח䯏Ⰵַׁ ַזְךד✲חRuntime_HandleDebuggerStatementהַח כ㢌䳔דֹזְ
Bytecode DebugBreakعٝسָٓDebug::HandleDebugBreakㄎן⳿׃ גծ穠卓Debugger StatementהずׄⳢ椚遤ֲ In V8
JIT Code(X64) ـٖ؎ؙه؎ٝزכׅץגInt3ㄏ⟀ָ涪遤ׁגSIGTRAP䒷ֹ 饯ֿׅ interruptָ饯ֿהStackGuard::HandleInterruptsָㄎן⳿ׁ גծַֿDebug::HandleDebugBreakפ In V8
Future ⯓傈ךTC39 Meetingדproposal-debugger-operandָStage1ח ז
proposal-debugger-operand ـٖ؎ؙه؎ٝزךؚٕ٦ف⻉ח״♧俕ON/OFFծ勴⟝➰ֹـ ٖ؎ؙך鏣㹀瘝ָ遤ִ Future
const log = (v) => {! debugger { group: 'logging'
};! console.log(v);! };!
const route = (httpRequest) => {! debugger {! test: ()
=> httpRequest.tracing || !isProduction! };! console.log(v);! };!
㹋騧 涪儗חכDebugger㙵鴥דծٔٔ٦أ儗ח嶊ׅ Webpack⢪גזUglifyָ嶊׃גֻ v4ך㜥さכmode productionד䩛ח嶊ִ
class Logger {! fatal() {! console.error("Error");! debugger;! }! }!
תה ⢪ג➂㼰זְ⽩韋דָׅ涪儗ח⢪ֲה穠圓嚂דׅ