It works with lldb if you prefix "expr --" to the debugger command in the breakpoint settings:
expr -- (void)printf("[%s, %s]
",(char *) object_getClassName(*(long*)($esp+4)), (char *) *(long *)($esp+8) )
The solution is not perfect however, because the debugger prints "no result" after each output:
[OS_xpc_dictionary, _xref_dispose]
<no result>
[NSObject, initialize]
<no result>
[OS_object, initialize]
<no result>
I have found nothing to suppress the "no result" output, it may be that it is not possible, see this Open Radar.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…