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: pascal.vollmer@ieee.org
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
2009/6/16 pascal.vollmer@nexgo.de:
Hi,
I cross-debug the activities of a Unix-VM running on a PowerPC/Linux embedded system.
- Via gdbserver/gdb I am able to see that main() is executed up to the point where the interpreter is called
- I can also set a breakpoint at the switch(currentBytecode) of the interpreter and break there once
- 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.
- I can interrupt execution with Ctrl-C (SIGINT) and tell gdb: call printAllStacks(). This yields what is shown at the end of the mail
- 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.
- 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: pascal.vollmer@ieee.org
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
vm-dev@lists.squeakfoundation.org