What does the command "po 0x600000285190" do? I got that number from an error message saying, "unrecognized selector sent to instance 0x600000285190". Typing that command gires me the result, "105553118908816". What can I do with that? And where can I get documentation on debugger commands?
>> where can I get documentation on debugger commands?
Well, you can get help from the debugger itself. At the (lldb) prompt in the Xcode console pane (the app must be launched but paused, you can't type commands if it's running), you can type "help po". In this case it's shorthand for another command, which the help explains to you.
You can also type just "help", and the debugger will tell you how to use help to find the command you want.
>> What does the command "po 0x600000285190" do?
"po" means something like "print object". (That's an informal description, not a command.) It tries to treat the argument (a pointer in this case) as an Obj-C object, then it tries to send either a "debugDescription" or a "description" message to the object, asking it to return a string describing itself, and that's what's displayed in the console.
If the pointer does not represent a real or valid object, you will get any of several possible errors.
>> Typing that command gires me the result, "105553118908816".
If you type the command "p 0x600000285190" ("p" is also shorthand, and means just "print") the debugger simply evaluates the expression you gave it (a hex number in this case) and displays the value in decimal, which is the result you saw.