This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Pthreads and GDB?
> Since cygwin1.dll is multithreaded, I routinely set breakpoints which
> are only hit in a thread. So, yes, gdb is supposed to be multi-thread
> aware.
I have a 2 thread program. I set the break for main() and run (to main):
(gdb) b main
Breakpoint 1 at 0x401191
(gdb) r
Starting program: /home/John/projects/pthreads/test1/a.exe
[New thread 3680.0x13e8]
Error: dll starting at 0x76ff0000 not found.
Error: dll starting at 0x76590000 not found.
Error: dll starting at 0x76ff0000 not found.
Error: dll starting at 0x76c40000 not found.
[New thread 3680.0xc7c]
Breakpoint 1, 0x00401191 in main ()
Wait a few seconds and start to step:
(gdb) n
Single stepping until exit from function main,
which has no line number information.
[New thread 3680.0x1410]
[New thread 3680.0x1540]
Counter value functionCount1: 1
Counter value functionCount2: 2
...
Final count: 10
Program exited normally.
As you can see the threads have finished executing, along with the
main thread, *before * I ever get a chance to step to the first
pthread_create(). Let alone set a break in a thread.
Why?
Thanks, Jan
On Tue, Jul 12, 2011 at 6:16 AM, Jan Chludzinski
<jan.chludzinski@gmail.com> wrote:
> I went to GNU.org to read about GDB and threads since I'm having
> trouble working with ptheads under GDB on Cygwin. ?I notice this on
> the GNU.org web site:
>
> "Warning: These facilities are not yet available on every GDB
> configuration where the operating system supports threads. If your GDB
> does not support threads, these commands have no effect. For example,
> a system without thread support shows no output from `info threads',
> and always rejects the thread command, like this:"
>
> What the level of support for threads with GDB under Cygwin?
>
> Switching between threads causes seg-faults. ?Also, I thought that
> while you're stepping through one thread, the other threads weren't
> running? Shouldn't I be able to set a breakpoint in a thread before
> pthread_create() is invoked? ?Doesn't appear to be the case?
>
> ---Jan
>
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple