From b7a30e4097ae3f28f3c8f5566f2d25e0ab5a2b92 Mon Sep 17 00:00:00 2001 From: Dave Lee Date: Wed, 29 Apr 2015 15:51:08 -0700 Subject: [PATCH] Don't skip prologue for `bmessage` breakpoints The x86 expression returned from `functionPreambleExpressionForSelf()` expects the breakpoint to be stopped before the prologue. --- commands/FBDebugCommands.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/FBDebugCommands.py b/commands/FBDebugCommands.py index e0ffaa1..763e846 100644 --- a/commands/FBDebugCommands.py +++ b/commands/FBDebugCommands.py @@ -158,10 +158,10 @@ def run(self, arguments, options): print 'Setting a breakpoint at {} with condition {}'.format(breakpointFullName, breakpointCondition) if category: - lldb.debugger.HandleCommand('breakpoint set --fullname "{}" --condition "{}"'.format(breakpointFullName, breakpointCondition)) + lldb.debugger.HandleCommand('breakpoint set --skip-prologue false --fullname "{}" --condition "{}"'.format(breakpointFullName, breakpointCondition)) else: breakpointPattern = '{}\[{}(\(.+\))? {}\]'.format(methodTypeCharacter, breakpointClassName, selector) - lldb.debugger.HandleCommand('breakpoint set --func-regex "{}" --condition "{}"'.format(breakpointPattern, breakpointCondition)) + lldb.debugger.HandleCommand('breakpoint set --skip-prologue false --func-regex "{}" --condition "{}"'.format(breakpointPattern, breakpointCondition)) def classItselfImplementsSelector(klass, selector): thisMethod = objc.class_getInstanceMethod(klass, selector)