stop-on-solib-events and Cygwin (or MinGW)

Gordon Prieur Gordon.Prieur@Sun.COM
Thu Feb 14 17:41:00 GMT 2008


Daniel Jacobowitz wrote:
> On Thu, Feb 14, 2008 at 09:01:44AM -0800, Gordon Prieur wrote:
>   
>> Hi,
>>
>>    I've just added support to the NetBeans gdb module for breakpoints
>> set in shared libraries explicity dlopened (as apposed to shared libraries
>> linked at link time). I'm using stop-on-solib-events to do this, and it  
>> works
>> fine on both Solaris and Linux.
>>     
>
> Why do you need to do this?  i.e. what are you doing with breakpoints
> that current versions of GDB don't handle for you?  (There may be a
> good reason, I'm just curious what it is.)
>   

Its customer driven. In NetBeans, breakpoints persist outside of a gdb 
session.
The simplified scenario I'm using in my test cases contains 2 files, 
main.c and
shared.c (shared.c builds into a dll). If I link main.c with the shared 
library then
when I start debugging main, all breakpoints in shared.c are active.

If I don't link the dll into main but explicitly dlopen it, the 
breakpoints aren't
active unless I set them after the dlopen.


>>    However, if I set this property on Windows I don't get stopped after
>> my dlopen/dlclose calls. Is there any way (on Windows) to make this
>> feature work? The alternative is to provide a complete 2nd implementation
>> for Windows (based on stopping in dlopen, calling "finish", and comparing
>> info share from before and after). Since stack information isn't always
>> reliable on Windows, I'm concerned this method won't be very reliable.
>>
>>    Are there technical reasons why stop-on-solib-events doesn't work on
>> Windows? Or is it just unimplemented on that platform? Would I see the
>> same behavior on Vista?
>>     
>
> It's just unimplemented.  However, you might want to try a current CVS
> snapshot.  I think it should work now that Pedro switched win32 over
> to XML-based libraries.
>   

Will this be part of gbd 6.8? From my point of view, its only fixed when 
I can
recommend a specific version of Cygwin and/or MinGW to my customers. Even
then, I'll need to support legacy versions without this feature. So even 
if its
fixed, I think I'll need to maintain my alternate Windows implementation for
a while.

Thanks,
Gordon



More information about the Gdb mailing list