[Vm-dev] Re: [Vm-beginners] how to print/inspect stuff with XCode?

John M McIntosh johnmci at smalltalkconsulting.com
Sat Dec 25 19:29:40 UTC 2010

Well since my wife and eldest son are wrestling with a dead turkey I'm hiding in the study casually checking email. 

This would be because GIV is a macro/definition/etc  
Its to decide to generate either foo->interpreterInstVar  or just interpreterInstVar

The use of SQ_USE_GLOBAL_STRUCT and declaring foo static or not has serious performance implications all 
twisted by the type of CPU and which compiler and which version of the compiler.  Only trying lots of combinations for 
your particular setup of the day (not in the past, or in the future) would say which is best. Update your compiler? All bets are off.

So in this case it's not a function call otherwise you could say call (int) printAllStacks() in gnu debug, which can be very useful.

 } fum;
# define DECL_MAYBE_SQ_GLOBAL_STRUCT register struct foo * foo = &fum;
# define DECL_MAYBE_VOLATILE_SQ_GLOBAL_STRUCT volatile register struct foo * foo = &fum;
# define GIV(interpreterInstVar) (foo->interpreterInstVar)
# define DECL_MAYBE_SQ_GLOBAL_STRUCT /* oh, no mr bill! */
# define DECL_MAYBE_VOLATILE_SQ_GLOBAL_STRUCT /* oh no, mr bill! */
# define GIV(interpreterInstVar) interpreterInstVar

On 2010-12-25, at 10:53 AM, Mariano Martinez Peck wrote:

> Hi guys. While debugging the VM with XCode, I sometime feel really stupid.  Uhhh, sorry, happy Christmats ;)
> I cannot inspect values or do things. Maybe I am so used to Smalltalk that I am asking too much to C. 
> So, for example I have this code:
>     if (! ( (  (usqInt) addr  ) <=  (   (usqInt) GIV(fwdTableNext) )   ))
>     {
>         print("fwdTableNext");
>     };
> And I have a breakpoint on the print. I can see the value of fwdTableNext  or addr. But how can I inspect for example, "GIV(fwdTableNext)" ?  or "(   (usqInt) GIV(fwdTableNext) )" ?
> I mean...how can I inspect the result of calling certain functions to such variables?  can I do that?  if I cannot, how it is expected I can debug that for example?  (assing each result to another variable ans inspect that?)
> I tried using the the expressions browser, but everything I add says "out of scope"
> Thanks in advance,
> Mariano
> _______________________________________________
> VM-beginners mailing list
> VM-beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners

John M. McIntosh <johnmci at smalltalkconsulting.com>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20101225/16bfd710/attachment.htm

More information about the Vm-dev mailing list