The 2 threads finish executing before I can set a break. Why? ---Jan On Tue, Jul 12, 2011 at 1:15 PM, Jan Chludzinski <jan.chludzin...@gmail.com> wrote: > Sorry, I forgot to build with the -g option. > > But still as I'm stepping passed the 2 pthread_create() routines they > finish executing before I can set a break. Why? > > ---Jan > > > On Tue, Jul 12, 2011 at 1:02 PM, Jan Chludzinski > <jan.chludzin...@gmail.com> wrote: >>> 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.chludzin...@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