[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HOWTO: debug pserver
From: |
Larry Jones |
Subject: |
Re: HOWTO: debug pserver |
Date: |
Thu, 5 Jun 2003 10:04:49 -0400 (EDT) |
Peschko, Edward writes:
>
> 3) run the cvs command that you want to debug or trace with CVS_CLIENT_LOG,
> against the copied cvs tree. Note that you need to use a cvs tree with
> pserver,
> not :ext.
That is not true, *any* client/server mode will work. I usually use
:fork:.
> Caveats: Note that follow-fork-mode child does *not* work, nor does debugging
> parent
> code after the fork (it causes an ABRT signal ). Note also that there will be
> a disconnect
> between the debugging and the real world because the above will only output
> what happens
> to stderr, and not actually apply any of the changes to the cvs tree.
Not so -- you're running the server, it will do everything it usually
does. If you send it commands that affect the repository, it will
update the repostitory.
> I'm not sure how you'd do the above in daemon mode,
If you really need to do that, you should already know how. :-) One
approach is to have inetd run a shell script that sets $CVS_SERVER_SLEEP
before invoking CVS to give you time to connect to the child process.
> or how you can use the output from the server, and redirect it
> to a cvs client call (in gdb). Perhaps someone could elaborate?
Similar to the above, if you set $CVS_SERVER_SLEEP and then run using
the :fork: method, that will give you a normal client/server setup and
give you time to attach to the server child process with a debugger.
-Larry Jones
I don't think math is a science, I think it's a religion. -- Calvin