Debugging VM

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Debugging VM

pascal.vollmer

Hi,

I cross-debug the activities of a Unix-VM running on a PowerPC/Linux embedded system.

1. Via gdbserver/gdb I am able to see that main() is executed up to the point where the interpreter is called
2. I can also set a breakpoint at the switch(currentBytecode) of the interpreter and break there once
3. After continuing I do not come back to this breakpoint a second time
4. I can interrupt execution with Ctrl-C (SIGINT) and tell gdb: call printAllStacks(). This yields what is shown at the end of the mail
5. I use Cuis1.0-0204 which fits nicely in my 16MB flash memory. I modified it so that an early alife-message is sent to stderr. This is done when executing the class method startUp of the Delay class. This works well on my intel/Linux desktop system. But I do not get there on my PowerPC/Linux embedded system.
6. I use Bert Freudenbergs changesets to print SqueakDebug.log on stderr. They work well on intel/Linux but on the embedded system I apparently do not get a MNU.

What possibilities do I have to get further diagnosis?

A last question: There is a document "porting1.pdf" written by Ian Piumarta which might be helpful. Does anybody know where I can download a readable copy?

Kind regards
Pascal

---snip---

Process
816700312 MethodContext>tempAt:put:
816700220 BlockContext>ensure:
816699724 Semaphore>critical:
816699632 SharedQueue>nextOrNilSuchThat:
816699540 EventSensor>primKbdPeek
816699448 InputSensor>keyboardPressed
816556468 Object>primitiveError:
816550660 [] in Debugger class>openOn:context:label:contents:fullView:
816555956 BlockContext>valueWithPossibleArgs:
816556276 [] in ContextPart>handleSignal:
816555864 BlockContext>ensure:
816555772 ContextPart>handleSignal:
816555680 Exception>signal
816555588 Object>doesNotUnderstand: bitAnd:
816555496 Color>setRed:green:blue:
816555324 Color class>r:g:b:
816555232 Color class>r:g:b:alpha:
816555140 Color>alphaMixed:with:
816555048 Color>muchLighter
816554712 [] in Debugger>buttonRowForPreDebugWindow:
816554620 OrderedCollection>do:
816554416 Debugger>buttonRowForPreDebugWindow:
816551096 Debugger>buildMorphicNotifierLabelled:message:
816551004 Debugger>openNotifierContents:label:
816550408 [] in Debugger class>openOn:context:label:contents:fullView:
816550316 BlockContext>on:do:
816549940 [] in Debugger class>openOn:context:label:contents:fullView:
816550192 [] in BlockContext>newProcess

Process
809231112 WeakArray class>finalizationProcess
809230928 [] in WeakArray class>restartFinalizationProcess
809231020 [] in BlockContext>newProcess

Process
809241876 Delay class>handleTimerEvent
807952212 Delay class>runTimerEventLoop
807952528 [] in Delay class>startTimerEventLoop
807952620 [] in BlockContext>newProcess

Process
809227976 SystemDictionary>lowSpaceWatcher
809228068 [] in SystemDictionary>installLowSpaceWatcher
809228160 [] in BlockContext>newProcess

---snip---

Pascal Vollmer
Email: [hidden email]

Jetzt klicken und gucken! Das Arcor.de Fotoalbum mit tausenden von öffentlich einsehbaren Privatfotos!
Wir empfehlen die Kategorie Singles!
http://www.arcor.de/rd/palb
Reply | Threaded
Open this post in threaded view
|

Re: Debugging VM

Igor Stasenko

2009/6/16  <[hidden email]>:
>
> Hi,
>
> I cross-debug the activities of a Unix-VM running on a PowerPC/Linux embedded system.
>
> 1. Via gdbserver/gdb I am able to see that main() is executed up to the point where the interpreter is called
> 2. I can also set a breakpoint at the switch(currentBytecode) of the interpreter and break there once
> 3. After continuing I do not come back to this breakpoint a second time

i suppose this is because of gnu-ified bytecodes, which replacing all
'break;' statements with direct gotos to next bytecode label.
For debugging , i recommend you to build VM with gnuification step disabled.

> 4. I can interrupt execution with Ctrl-C (SIGINT) and tell gdb: call printAllStacks(). This yields what is shown at the end of the mail
> 5. I use Cuis1.0-0204 which fits nicely in my 16MB flash memory. I modified it so that an early alife-message is sent to stderr. This is done when executing the class method startUp of the Delay class. This works well on my intel/Linux desktop system. But I do not get there on my PowerPC/Linux embedded system.
> 6. I use Bert Freudenbergs changesets to print SqueakDebug.log on stderr. They work well on intel/Linux but on the embedded system I apparently do not get a MNU.
>
> What possibilities do I have to get further diagnosis?
>
> A last question: There is a document "porting1.pdf" written by Ian Piumarta which might be helpful. Does anybody know where I can download a readable copy?
>
> Kind regards
> Pascal
>
> ---snip---
>
> Process
> 816700312 MethodContext>tempAt:put:
> 816700220 BlockContext>ensure:
> 816699724 Semaphore>critical:
> 816699632 SharedQueue>nextOrNilSuchThat:
> 816699540 EventSensor>primKbdPeek
> 816699448 InputSensor>keyboardPressed
> 816556468 Object>primitiveError:
> 816550660 [] in Debugger class>openOn:context:label:contents:fullView:
> 816555956 BlockContext>valueWithPossibleArgs:
> 816556276 [] in ContextPart>handleSignal:
> 816555864 BlockContext>ensure:
> 816555772 ContextPart>handleSignal:
> 816555680 Exception>signal
> 816555588 Object>doesNotUnderstand: bitAnd:
> 816555496 Color>setRed:green:blue:
> 816555324 Color class>r:g:b:
> 816555232 Color class>r:g:b:alpha:
> 816555140 Color>alphaMixed:with:
> 816555048 Color>muchLighter
> 816554712 [] in Debugger>buttonRowForPreDebugWindow:
> 816554620 OrderedCollection>do:
> 816554416 Debugger>buttonRowForPreDebugWindow:
> 816551096 Debugger>buildMorphicNotifierLabelled:message:
> 816551004 Debugger>openNotifierContents:label:
> 816550408 [] in Debugger class>openOn:context:label:contents:fullView:
> 816550316 BlockContext>on:do:
> 816549940 [] in Debugger class>openOn:context:label:contents:fullView:
> 816550192 [] in BlockContext>newProcess
>
> Process
> 809231112 WeakArray class>finalizationProcess
> 809230928 [] in WeakArray class>restartFinalizationProcess
> 809231020 [] in BlockContext>newProcess
>
> Process
> 809241876 Delay class>handleTimerEvent
> 807952212 Delay class>runTimerEventLoop
> 807952528 [] in Delay class>startTimerEventLoop
> 807952620 [] in BlockContext>newProcess
>
> Process
> 809227976 SystemDictionary>lowSpaceWatcher
> 809228068 [] in SystemDictionary>installLowSpaceWatcher
> 809228160 [] in BlockContext>newProcess
>
> ---snip---
>
> Pascal Vollmer
> Email: [hidden email]
>
> Jetzt klicken und gucken! Das Arcor.de Fotoalbum mit tausenden von öffentlich einsehbaren Privatfotos!
> Wir empfehlen die Kategorie Singles!
> http://www.arcor.de/rd/palb
>



--
Best regards,
Igor Stasenko AKA sig.