Quick guide to debugging MulleEOF

From EOFWiki
Jump to: navigation, search

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

See also

Personal tools