Let me show you a snippet of a lldb debug session in progress in my ObjC variant:
``` -100000,100000,v,18.48 Process 45774 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = step in frame #0: 0x0000000100000e2a multiple.debug`+[Foo long:int:char:float:](self=Foo, _cmd=<no value available>, _param=0x00007fff5fbff948) at multiple.m:15 12 char:(char) c 13 float:(float) d 14 { 15 printf( "%ld,%d,%c,%.2f\n", a, b, c, d); -> 16 } 17 18 @end (lldb) p *_param (p.long:int:char:float:) $2 = (a = -100000, b = 100000, c = 'v', d = 18.4799995) ``` You can see that the parameter values `a,b,c,d` are actually fields of a struct parameter `_param`. `_param` uniformly appears as the third parameter after `self` and `_cmd`. `p _param->a` works of course, but it would be nice to be able to say 'p a', since in the source code one sees only `a`. `_param` is more or less an implementation detail. A clue how to achieve this, would be very much appreciated. Ciao Nat! [*] except, if it's a picture of thousand words :) https://www.mulle-kybernetik.com/weblog/2015/mulle_objc_meta_call_convention.html _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev