Skip to content

Instantly share code, notes, and snippets.

@Ashton-W
Last active January 25, 2023 09:28
Show Gist options
  • Save Ashton-W/5c1ede17f8cec1f8b529 to your computer and use it in GitHub Desktop.
Save Ashton-W/5c1ede17f8cec1f8b529 to your computer and use it in GitHub Desktop.
My User Breakpoints_v2.xcbkptlist

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.

<?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>
@wwe-johndpope
Copy link

Nice work @Ashton-W

screen shot 2017-03-30 at 2 33 44 pm

@Ashton-W
Copy link
Author

Should add UICollectionViewFlowLayoutBreakForInvalidSizes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment