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

Enjoy Breakpoint

Shingo Tamaki
February 11, 2017

Enjoy Breakpoint

Swiftのビルドが遅いのでBreakpointを活用して、
アプリを止めずにできるだけデバッグ作業しようという話です。

Shingo Tamaki

February 11, 2017
Tweet

More Decks by Shingo Tamaki

Other Decks in Technology

Transcript

  1. EDIT BREAKPOINT Condition ࣮ߦ৚݅ ex) foo == bar Ignore ϒϨΠΫͷແࢹճ਺

    ex) ϧʔϓॲཧͰ5ճ໨ͷ͚࣌ͩࢭΊ͍ͨ Action ޙड़ Options Action࣮ߦޙʹϒϨΠΫͤ͞ͳ͍ ex) ActionͰϩάग़ྗͳͲΛͤ͞ଓ͚͍ͨ࣌ͳͲ
  2. ACTION Apple Script Apple Scriptͷ࣮ߦ͕Մೳ ex) ௨஌ηϯλʔʹNotificationΛඈ͹͢ Capture GPU Frame

    OpenGL ESͷඳըঢ়گͷ֬ೝͳͲʹ࢖͏ Debugger Command LLDBίϚϯυͷ࣮ߦ͕Մೳ Log Message γϯϓϧͳςΩετͷϩάग़ྗ͕Մೳ Shell Command γΣϧʹΑΔίϚϯυͷ࣮ߦ͕Մೳ Sound α΢ϯυͷ࠶ੜ͕ઃఆՄೳ
  3. DEBUG COMMAND po foo po bar = foo env DEBUG=1

    bt ..etc https://lldb.llvm.org/lldb-gdb.html
  4. BREAKPOINTͷڞ༗ READINGMARKER.XCWORKSPACE/XCSHAREDDATA/XCDEBUGGER/ BREAKPOINTS_V2.XCBKPTLIST <?xml version="1.0" encoding="UTF-8"?> <Bucket type = "3"

    version = "2.0"> <Breakpoints> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "Yes" filePath = "ReadingMarker/ViewControllers/HomeViewController.swift" timestampString = "508462948.98439" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "21" endingLineNumber = "21" landmarkName = "viewDidLoad()" landmarkType = "7"> <Actions> <BreakpointActionProxy ActionExtensionID = "Xcode.BreakpointAction.Log"> <ActionContent message = "Log Message" conveyanceType = "0"> </ActionContent> </BreakpointActionProxy> </Actions> </BreakpointContent> </BreakpointProxy> </Breakpoints> </Bucket>