Why can't LLDB evaluate this expression?

lldb, nsstring, objective-c

Solution

It seems that the expression command in lldb can generally not evaluate functions with variable argument lists. It fails even with a simple C function:

int foo(char *msg, ...)
{
    return 17;
}
(lldb) expr foo("bar")
(int) $2 = 17

(lldb) expr foo("bar", 2)
error: no matching function for call to 'foo'
note: candidate function not viable: requires 1 argument, but 2 were provided
error: 1 errors parsing expression

So this looks like a bug (or non-feature) in lldb.

Problem

Neither one of these statements can be processed by LLDB... why is it unable to come up with the NSString result and print it out ``` expr -o -- [NSString stringWithFormat:@"%@", @"Wow this doesnt work??"] po [NSString stringWithFormat:@"%@", @"Wow this doesnt work??"] ```

Original source