Date: Wed, 8 Sep 1999 14:40:56 -0700 (PDT) From: Kip Macy <kip@lyris.com> To: Zhihui Zhang <zzhang@cs.binghamton.edu> Cc: freebsd-hackers@freebsd.org Subject: Re: Using gdb with fork() Message-ID: <Pine.SOL.4.05.9909081438090.28873-100000@luna> In-Reply-To: <Pine.GSO.3.96.990908163503.22711B-100000@sol.cs.binghamton.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
You need to detach from your current process and attach to the spawned process. It might make it easier to attach in a timely fashion if you put a 3 second sleep in right after the fork. This would all be easiest using something like DDD where DDD will tell you what other processes are running with the same name, and allow you to attach to them through the GUI. -Kip On Wed, 8 Sep 1999, Zhihui Zhang wrote: > > I am using gdb 4.18 on FreeBSD-current. The program being debugged > consists of two small files: test1.c and test2.c. The main() in test1.c > has a call to fork() and for the child process case, it will call a > routine, say test(), in test2.c. > > I use "set follow-fork-mode child", "break fork", "step" command trying to > access the source in test2.c without success. The program is compiled > with "cc -g test1.c test2.c" and I run gdb with "gdb a.out". > > If there is no fork(), a call from test1.c to a routine in test2.c will > bring up the source of test2.c if I step that routine. Why it does not > work with fork()? Am I missing something? > > Thanks for any help. > > -------------------------------------------------- > Zhihui Zhang. Please visit http://www.freebsd.org > -------------------------------------------------- > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.4.05.9909081438090.28873-100000>