popen
Chris Hamilton
chamilto@navtechinc.com
Wed Jan 22 14:23:00 GMT 2003
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);
>
>}
>
>
>
More information about the Gdb
mailing list