On Sat, 11 Feb 2012, Andreas F?rber wrote: > Am 10.02.2012 11:26, schrieb ???: > > On Fri, Feb 10, 2012 at 08:14:41AM +0000, Stefan Hajnoczi wrote: > >> On Thu, Feb 09, 2012 at 06:33:16PM +0800, ??? wrote: > >>> I am running a tiny OS on QEMU and debugging it with gdbstub. The tiny OS > >>> will > >>> fork process 1, 2, ... and so on. I want to follow the child process, > >>> [...] > >>> > >>> Is there a way to do what I'm trying to do? Thanks! > > > ----------------- Tiny OS code ----------------------------- > > void main(void) /* This really IS void, no error here. */ > > { > > /* initialize enviroment */ > > > > sti(); > > move_to_user_mode(); > > if (!fork()) { /* we count on this going ok */ > > init(); // task 1 > > } > > > > for(;;) pause(); // task 0 > > } > > ------------------------------------------------------------ > > > > I am running this tiny OS on QEMU then using GDB to connect it. > > I want to follow task 1 after the forking, [...] > > Since this seems to be your code, if this were PowerPC I'd simply try to > place via inline assembler a trap instruction first thing inside the
Being hardcore are we? __builtin_trap () is there for a reason. > init() function. That can easily be caught in gdbstub. > > Depending on what you really want to do, you could always try some > printf-style output to serial. ;) > > Andreas > > -- mailto:av1...@comtv.ru