Finding NSTableColumn in gdb

  • Hi,

    I am quite new to cocoa and working on a Core Data application. I have
    quite a lot of tables and now suddenly I get this error on
    [NSException raise]

    Cocoa Bindings: Error accessing bound property value of object
    <NSTableColumn: 0x1bb120>: [<NSTableColumn 0x1bb120>
    valueForUndefinedKey:]: this class is not key value coding-compliant
    for the key value.

    The application seems to work fine though and I cannot find any issues
    unless I break on NSException.
    Is there a way to find out which table column is giving this error?

    Thanks

    Ed
  • On Nov 13, 2007, at 2:28 PM, Eddy Hatcher wrote:

    > Cocoa Bindings: Error accessing bound property value of object
    > <NSTableColumn: 0x1bb120>: [<NSTableColumn 0x1bb120>
    > valueForUndefinedKey:]: this class is not key value coding-compliant
    > for the key value.
    >
    > The application seems to work fine though and I cannot find any
    > issues unless I break on NSException.
    > Is there a way to find out which table column is giving this error?

    There is, and it's in the message given to you - it's the one at the
    memory address 0x1bb120. From there, you can use the GDB command line
    to get the column's table view, identifier, and anything else that may
    help (e.g. "po [0x1bb120 identifier]").

    Nick Zitzmann
    <http://www.chronosnet.com/>
  • Thanks, that was what I was looking for, but now it gives me this
    message:

    2007-11-13 23:12:34.298 SchoolCore[1073:813] Cocoa Bindings: Error
    accessing bound property value of object <NSTableColumn: 0x1b9ee0>:
    [<NSTableColumn 0x1b9ee0> valueForUndefinedKey:]: this class is not
    key value coding-compliant for the key value.
    (gdb) po [0x1b9ee0 identifier]
    Cannot access memory at address 0x0

    Sorry, if these questions are too trivial. If it is can some one
    please point me to a site with some debugging stuff.

    Ed

    On Nov 13, 2007, at 11:02 PM, Nick Zitzmann wrote:

    >
    > On Nov 13, 2007, at 2:28 PM, Eddy Hatcher wrote:
    >
    >> Cocoa Bindings: Error accessing bound property value of object
    >> <NSTableColumn: 0x1bb120>: [<NSTableColumn 0x1bb120>
    >> valueForUndefinedKey:]: this class is not key value coding-
    >> compliant for the key value.
    >>
    >> The application seems to work fine though and I cannot find any
    >> issues unless I break on NSException.
    >> Is there a way to find out which table column is giving this error?
    >
    >
    > There is, and it's in the message given to you - it's the one at the
    > memory address 0x1bb120. From there, you can use the GDB command
    > line to get the column's table view, identifier, and anything else
    > that may help (e.g. "po [0x1bb120 identifier]").
    >
    > Nick Zitzmann
    > <http://www.chronosnet.com/>
    >
  • On Nov 13, 2007, at 3:26 PM, Eddy Hatcher wrote:

    > Thanks, that was what I was looking for, but now it gives me this
    > message:
    >
    > 2007-11-13 23:12:34.298 SchoolCore[1073:813] Cocoa Bindings: Error
    > accessing bound property value of object <NSTableColumn: 0x1b9ee0>:
    > [<NSTableColumn 0x1b9ee0> valueForUndefinedKey:]: this class is not
    > key value coding-compliant for the key value.
    > (gdb) po [0x1b9ee0 identifier]
    > Cannot access memory at address 0x0

    That means you didn't set a table column identifier for the offending
    column. You can do that in IB, or you can use some other means of
    identifying the column (like getting its table view, browsing the view
    hierarchy, etc.).

    Nick Zitzmann
    <http://www.chronosnet.com/>
  • Thanks, found it!

    On Nov 13, 2007, at 11:31 PM, Nick Zitzmann wrote:

    >
    > On Nov 13, 2007, at 3:26 PM, Eddy Hatcher wrote:
    >
    >> Thanks, that was what I was looking for, but now it gives me this
    >> message:
    >>
    >> 2007-11-13 23:12:34.298 SchoolCore[1073:813] Cocoa Bindings: Error
    >> accessing bound property value of object <NSTableColumn: 0x1b9ee0>:
    >> [<NSTableColumn 0x1b9ee0> valueForUndefinedKey:]: this class is not
    >> key value coding-compliant for the key value.
    >> (gdb) po [0x1b9ee0 identifier]
    >> Cannot access memory at address 0x0
    >
    >
    > That means you didn't set a table column identifier for the
    > offending column. You can do that in IB, or you can use some other
    > means of identifying the column (like getting its table view,
    > browsing the view hierarchy, etc.).
    >
    > Nick Zitzmann
    > <http://www.chronosnet.com/>
    >
previous month november 2007 next month
MTWTFSS
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Go to today