info-cvs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]