Quick guide to debugging MulleEOF
From EOFWiki
When developing link against the debug version of MulleEOF. This should be done by Xcode automatically, when you are building you application for Development. The debug version of MulleEOF contains numerous asserts to catch many common programmers errors.
Contents |
Global
- (gdb) p (int) MulleDumpEditingContexts() - dumps all EOEditingContexts. This gives you a nice overview of the running application.
EOEditingContext
- (gdb) po [self _debugHashTableDescription] - gives statistics about the EOGlobalID internal hash table
- (gdb) po [self registeredObjects] - lists all objects known to the EOEditingContext
- (gdb) po [self mulleEOStructureDump] - dumps info about the EOEditingContext
EOEnterpriseObject
- (gdb) po [self editingContext] - in which EOEditingContext that object is registered
- (gdb) po [self snapshot] - dumps all properties known to EOF for this object
EOObjectStore
- (gdb) po [[EOObjectStoreCoordinator defaultCoordinator] cooperatingObjectStores] - lists all backend object stores. If you see more than expected, your Model info dictionaries differ..
EOMasterDetailAssociation
Often setting a breakpoint on subjectChanged can be helpful, but to break only on one specific association use
- (gdb) set MulleEOGenericControlAssociationBreakKey = @"entity:key" - substitute with proper values, check the debug output
and set a breakpoint on the MulleEOGenericControlAssociationBreakKey function
EOMasterDetailAssociation
Often setting a breakpoint on subjectChanged can be helpful, but to break only on one specific association use
- (gdb) set MulleEOEOGenericControlAssociationBreak = @"entity:key" - substitute with proper values, check the debug output
and set a breakpoint on the MulleEOEOGenericControlAssociationBreak function