[Vm-dev] XCode Target.

John M McIntosh johnmci at smalltalkconsulting.com
Thu Jan 17 00:36:25 UTC 2008


when you are debugging using something other than a primitive debugger  
you can do source level debugging if the executable contains "Symbols"  
which are
the mappings of the instruction counter offset to the source code.  
Also for entry points and variables you map the executable offsets to  
their variable names.
This lets an intelligent debugger say oh at 0xdede01  that's the  
foobarthingvariable, and because the instruction pointer is at  
0x294729 in this executable code segment, that means it's really line  
42 of this C program.

In order to make the binary smaller you strip that stuff out so when  
the binary is loaded you take up less memory.


On Jan 16, 2008, at 3:34 PM, Mathieu Suen wrote:

>
> Ups, I am afraid now I have an other question.
> What is a Symbols? (I guess is the name of the C function)
>
> Thanks
>
> On Jan 17, 2008, at 12:13 AM, John M McIntosh wrote:
>
>> Originally it was there to build a deployment VM that include  
>> symbols so you could do debugging easier.
>> Occasionally you would build a VM that would work in debug mode,  
>> but not in deployment, or work on powerpc
>> but not on intel. Usually this was a problem with optimization not  
>> doing zero initialization of variables, or not
>> returning zero where you said return nothing via  int foo(){} but  
>> then used the return value.
>>
>> In the past the VM had the symbols stripped, but I'm not sure this  
>> is the case anymore, you could check?
>> Apple  now recommends you keep the symbols because it does not  
>> affect performance, it does take
>> extra memory, but memory is cheap now.
>>
>>
>> On Jan 16, 2008, at 2:53 PM, Mathieu Suen wrote:
>>
>>> Hi
>>>
>>> A small question for those who use XCode to build the VM.
>>> What is the used of the DeploymentSymbols target?
>>>
>>> Thanks
>>> 	Mth
>>>
>>>
>>>
>>
>> --
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> John M. McIntosh <johnmci at smalltalkconsulting.com>
>> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>>
>>
>
> 	Mth
>
>
>

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




More information about the Vm-dev mailing list