In practice, all the people using the simulator have images that were built when Eliot's script was working, and we update the image with the new VMMaker code but don't rebuild them. I know its not good but we had to keep things working with limited ressources.
So there are 2 solutions:- you ask someone with a working image to give it to you and you start from there (by loading the most recent code, etc.).- you fix Eliot's script or you bug him until he fixes it.
I read quickly your report but it looks to me that 1 can be debugged through the simulator while 2,3,4 needs to be debugged with gdb. I am not sure with 3 since Eliot added some simulation support for sockets at some points.
For gdb with the VM the main things to know are:- Debug VM is very slow, Assert VM is half the perf of prod VM for most things (though stack page switch for example is much slower in Assert VM).- in general you want an assert or debug VM and put a breakpoint on warning, so when an assertion fails gdb stops and you can try to figure things out.- you need to compile the debug VM to access C variables if you need so.- you can call debug functions printStackAllStack, printFrame, printCogMethod, etc. in gdb. You can try to look in Slang in the VMMaker code for the list of debug functions available (<api> pragma). You often need to manually cast parameters to usqint / sqint in gdb to correctly call those functions.
As always for simulator or gdb the best is to save an image about to crash, start it on the debug platform and make it crash.Good luck and have fun.
Thanks,PhilThanks,PhilOn Sep 18, 2017 7:38 PM, "tim Rowledge" <tim@rowledge.org> wrote:
When possible you’re much better off using the VMSimulator to examine an image.
tim
> On 18-09-2017, at 4:25 PM, Phil B <pbpublist@gmail.com> wrote:
>
> Using gdb to explore a running image? Blog post or video format is great. Most of what I've run across is related to the internals of the VM rather than debugging an image. My gdb skills are pretty rusty plus I suspect that not knowing all of the helper functions available in the VM (and how to best use them in a debugging workflow) is slowing me down.
--
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim
"Bother" said Pooh, as his rucksack opened whilst skydiving