This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: popen
I didn't really think that odbc was causing the problem, so I linked in
another threaded library and got the same result. I think the general
case is that gdb loses it's brains anytime a threaded library is linked
in, a breakpoint is set and a popen is passed over. I've tried this
with a few safe libraries ( ie. libraries I didn't write ;) ), and this
seems to hold up.
Chris Hamilton wrote:
The problem seems to come when I include the odbc libraries included
with redhat 7.3. I've included a test .c file that will cause the
problem when run with:
cc popen_test.c -o a.out -g -lodbc
Bruce Korb wrote:
Daniel Jacobowitz wrote:
On Mon, Jan 20, 2003 at 01:30:04PM -0800, Bruce Korb wrote:
Chris Hamilton wrote:
Bruce,
I came across your September 24th posting about gdb throwing off a
"Cannot find thread 2049" when it hits a popen
(http://sources.redhat.com/ml/insight/2002-q3/msg00185.html).
I'm currently experiencing the same problem in my application, and
I was
wondering if you had any advice on how to solve it.
Popen should not present this problem. I don't know why it does, so we
need more information.
It seems to occur when using popen, but not when I do all
the fork/exec stuff myself. I'll see if a trivial popen
example duplicates the problem, but I would guess that many
would have complained by now if it were that easy.
Meanwhile multi-process debugging is forthcoming. The Linux kernel
patches are already in and I have more GDB patches queued.
Excellent!! Thank you very much!
------------------------------------------------------------------------
#include <stdio.h>
int main()
{
FILE *tpPipeFp;
if((tpPipeFp = popen("test", "w")) == NULL)
{
printf("Can't open pipe\n");
exit();
}
else
printf("I've opened the pipe\n");
pclose(tpPipeFp);
}