jsloop
5/19/2019 - 12:03 PM

My User Breakpoints_v2.xcbkptlist

My User Breakpoints_v2.xcbkptlist

<?xml version="1.0" encoding="UTF-8"?>
<Bucket
   type = "2"
   version = "2.0">
   <Breakpoints>

      <!-- All Exceptions -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            scope = "0"
            stopOnStyle = "0">
         </BreakpointContent>
      </BreakpointProxy>

      <!-- All Objective-C Exceptions -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            scope = "1"
            stopOnStyle = "0">
         </BreakpointContent>
      </BreakpointProxy>

      <!-- All C++ Exceptions -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            scope = "2"
            stopOnStyle = "0">
         </BreakpointContent>
      </BreakpointProxy>

      <!-- Swift Error -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SwiftErrorBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No">
         </BreakpointContent>
      </BreakpointProxy>

      <!-- Test Failure -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.IDETestFailureBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            breakpointStackSelectionBehavior = "1">
         </BreakpointContent>
      </BreakpointProxy>

      <!-- OpenGL ES Error -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.OpenGLErrorBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            breakpointStackSelectionBehavior = "1"
            symbolName = "__GPUTOOLS_HAS_DETECTED_AN_OPENGL_ERROR__"
            moduleName = "libglInterpose.dylib">
            <Actions>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.OpenGLError">
                  <ActionContent>
                  </ActionContent>
               </BreakpointActionProxy>
            </Actions>
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- Import UIKit -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "Yes"
            symbolName = "UIApplicationMain"
            moduleName = "">
            <Actions>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
                  <ActionContent
                     consoleCommand = "expr @import Foundation">
                  </ActionContent>
               </BreakpointActionProxy>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
                  <ActionContent
                     consoleCommand = "expr @import UIKit">
                  </ActionContent>
               </BreakpointActionProxy>
            </Actions>
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- Import AppKit -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "Yes"
            symbolName = "NSApplicationMain"
            moduleName = "">
            <Actions>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
                  <ActionContent
                     consoleCommand = "expr @import Foundation">
                  </ActionContent>
               </BreakpointActionProxy>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
                  <ActionContent
                     consoleCommand = "expr @import Cocoa">
                  </ActionContent>
               </BreakpointActionProxy>
            </Actions>
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- Unsatisfiable Constraints -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            symbolName = "UIViewAlertForUnsatisfiableConstraints"
            moduleName = "">
            <Actions>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.Log">
                  <ActionContent
                     message = ""
                     conveyanceType = "0">
                  </ActionContent>
               </BreakpointActionProxy>
            </Actions>
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- KVO Deallocate -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            symbolName = "NSKVODeallocateBreak"
            moduleName = "">
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- CGPostError -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            symbolName = "CGPostError"
            moduleName = "">
            <Actions>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.Log">
                  <ActionContent
                     message = ""
                     conveyanceType = "0">
                  </ActionContent>
               </BreakpointActionProxy>
            </Actions>
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- NSData Reinitialization -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            symbolName = "_NSDataReinitializationBreak"
            moduleName = "">
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

      <!-- Reveal -->
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "Yes"
            symbolName = "UIApplicationMain"
            moduleName = "">
            <Actions>
               <BreakpointActionProxy
                  ActionExtensionID = "Xcode.BreakpointAction.DebuggerCommand">
                  <ActionContent
                     consoleCommand = "reveal load">
                  </ActionContent>
               </BreakpointActionProxy>
            </Actions>
            <Locations>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>

   </Breakpoints>
</Bucket>

My Breakpoints

  • All Exceptions
  • All Objective-C Exceptions
  • All C++ Exceptions
  • Swift Error
  • Test Failure
  • OpenGL ES Error
  • Automatic LLDB @import UIKit and @import Foundation
  • Automatic LLDB @import Cocoa and @import Foundation
  • Unsatisfiable AutoLayout Constraints
  • KVO Deallocate
  • CGPostError
  • NSData Reinitialization
  • UIApplicationMain (Reveal framework injection)

Read more about Automatic LLDB import of UIKit et al here: http://furbo.org/2015/05/11/an-import-ant-change-in-xcode/
Thanks Steve, Natasha for misc https://gist.github.com/forbze/919c7fced35f6ff59cbd
Thanks @vlas-voloshin for KVO
Thanks Reveal

Read my blog post on breakpoints here: https://www.ashton-w.net/2015/10/14/Breakpoints.html
Another great blog by Michael Ochs with more goodies: https://pspdfkit.com/blog/2017/user-breakpoints-in-xcode/

Reveal

The Reveal breakpoint is as described in the Reveal Integration Guide.

Since Reveal 5 you need to install the debugger commands before using the breakpoint.

Install

Just clone this gist:

git clone https://gist.github.com/5c1ede17f8cec1f8b529.git ~/Library/Developer/Xcode/UserData/xcdebugger/

Or place Breakpoints_v2.xcbkptlist in ~/Library/Developer/Xcode/UserData/xcdebugger/ manually.