Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Debugger Statementについて

Debugger Statementについて

Debugger Statementの紹介と使い方
proposal-debugger-operandsについて

Transcript

  1. Debugger Statement

  2. Name @brn (ꫬꅿ⨳ⵃ) Occupation ؿٗٝزؒٝسؒٝآص،٥ط؎ذ؍ـؒٝآص، Company Cyberagent ،سذؙأةآؔ AI Messenger

    OSS Contributor of V8 About http://info.b6n.ch
  3. What is debugger? debugger statementהכ؝٦س⚥ח剅ֻֿהדرغحؖ׾饯⹛׃ـ ٖ؎ؙ׃גֻ׸׷堣腉

  4. const ret = foo()! if (ret) {! debugger;! }!

  5. None
  6. In V8 BytecodeהJIT؝٦سדⰟ鸐ךⳢ椚׾遤ֲ

  7. Bytecode DebuggerعٝسָٓDebuggerغ؎ز؝٦س׾鋅אֽ׷ה Runtime_HandleDebuggerStatement׾ㄎן⳿׃גծ✲⵸ח涫 ꐮׁ׸גְ׷؝٦ٕغحؙ׾ㄎן⳿ׅ In V8

  8. JIT Code JIT⻉ך麓玎דㄏ⟀ך⽃秪⻉הְֲ剑黝⻉ָ遤׻׸׷ָծ׉ך麓 玎דDebugger Statementכ⯓玎ך Runtime_HandleDebuggerStatementㄎן⳿׃ך؝٦سפה湫 䱸㢌䳔ׁ׸׷ In V8

  9. Break Point אְדזךדBreakpointחאְג ـٓؐؠך؎ٝألؙةַ׵䭷㹀ׅ׷ֿהָדֹ׷ •  In V8

  10. None
  11. In V8 DebugBreakכDebugger Statementה麩׏גוֿח䯏Ⰵׁ׸׷ַ ׻ַ׵זְךד✲⵸חRuntime_HandleDebuggerStatementהַח כ㢌䳔דֹזְ

  12. Bytecode DebugBreakعٝسָٓDebug::HandleDebugBreak׾ㄎן⳿׃ גծ穠卓Debugger StatementהずׄⳢ椚׾遤ֲ In V8

  13. JIT Code(X64) ـٖ؎ؙه؎ٝزכׅץגInt3ㄏ⟀ָ涪遤ׁ׸גSIGTRAP׾䒷ֹ 饯ֿׅ interruptָ饯ֿ׷הStackGuard::HandleInterruptsָㄎן⳿ׁ׸ גծ׉ַֿ׵Debug::HandleDebugBreakפ In V8

  14. Future ⯓傈ךTC39 Meetingדproposal-debugger-operandָStage1ח ז׏׋

  15. proposal-debugger-operand ـٖ؎ؙه؎ٝزךؚٕ٦ف⻉ח״׷♧俕ON/OFFծ勴⟝➰ֹـ ٖ؎ؙך鏣㹀瘝ָ遤ִ׷ Future

  16. const log = (v) => {! debugger { group: 'logging'

    };! console.log(v);! };!
  17. const route = (httpRequest) => {! debugger {! test: ()

    => httpRequest.tracing || !isProduction! };! console.log(v);! };!
  18. 㹋騧 Ꟛ涪儗חכDebugger׾㙵׭鴥׿דծٔٔ٦أ儗ח嶊ׅ Webpack׾⢪׏ג׷ז׵Uglifyָ嶊׃גֻ׸׷ v4ך㜥さכmode productionד⹧䩛ח嶊ִ׷

  19. class Logger {! fatal() {! console.error("Error");! debugger;! }! }!

  20. תה׭ ⢪׏ג׷➂㼰זְ⽩韋דָׅꟚ涪儗ח⢪ֲה穠圓嚂דׅ