[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] How to follow a child process created in the guest OS?
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] How to follow a child process created in the guest OS? |
Date: |
Sat, 11 Feb 2012 01:42:28 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0 |
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
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
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg