[Pythonmac-SIG] PyObjC: debugging error-less crashes?
Daniel Ashbrook
anjiro at cc.gatech.edu
Wed Jul 23 17:57:25 CEST 2008
I'm working my way through the excellent book "Cocoa Programming for Mac
OS X", but using PyObjC instead of ObjC. For the most part it's working
very well - a testament to the awesomeness of PyObjC!
However, I'm occasionally getting a crash from my application that gives
no errors - it just enters into the debugger with no other output. A
backtrace leads through C code to (inevitably) objc_msgSend(), which
doesn't help much.
In one case I managed to figure out that I needed to add myFunc_ =
objc.accessor(myFunc_) after the definition of myFunc_() (though I have
no clue why), but in the current case that doesn't help. The relevant
chunk of code is below. My debug log shows the "Ending alert sheet"
message, but not the "Alert ended" message.
@IBAction
def removeEmployee_(self, sender):
selectedPeople = self._employeeController.selectedObjects()
alert =
NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(u'Delete?',
u'Delete', u'Cancel', None, u'Do you really want to delete %d people?' %
len(selectedPeople))
NSLog(u'Starting alert sheet')
alert.beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_(self._tableView.window(),
self, 'alertEnded:code:context:', None)
NSLog(u'Ending alert sheet')
def alertEnded_code_context_(self, alert, choice, context):
NSLog(u'Alert ended')
if choice == NSAlertDefaultReturn:
self._employeeController.remove(None)
Thanks in advance for any hints, whether general or specific!
Daniel Ashbrook
More information about the Pythonmac-SIG
mailing list