>>>>> "wim" == wim delvaux <[EMAIL PROTECTED]> writes:
> I have reported and traced down problem with setting (resetting) breakpoints in
> shared libraries earlier.
> The problem exists in 4.18 but also in 5.0.
> The problem occurs when you do a debug session and rerun the session. All
> dynamically loaded libraries will be unloaded upon rerun, set breakpoints
> will be remembered and reused for the new run.
> When the program is rerun, gdb tries to set the breakpoints again but finds
> that it cannot resolve the addresses on which these stored breakpoints should
> be reset (because the addresses are not loaded yet). This generates a lot of
> error messages since gdb tries to set these addresses several times.
> Later when the library gets loaded and gdb again tries to set the
> breakpoint, it correctly resolves the addresses. However, the returned
> address is identical to the address that is stored in the remembered breakpoint
> data structure (this is normal since dynamic libraries get loaded on the same
> address upon each sucessive run).
> Because of this IDENTICAL address, gdb WRONGLY concludes that the breakpoint is
still
> set (armed) and should therefore NOT be rearmed.
> I think that the cached addresses should be cleaned out (set to 0x0000000) for
> dynamic libraries that get unloaded when rerun). I tracked down this problem to
> the code that tests whether to set or not a breakpoint.
> THIS IS THE 5 TIME I REPORT THIS ERROR AND ITS ANALYSIS. IT IS A SEVERE PROBLEM
> AND I AM SURE THAT THE ABOVE EXPLANATION COVERS THE PROBLEM. I HAVE TRACKED
> THIS DOWN FOR 2 DAYS TRYING TO FIX IT MYSELF BUT ALTHOUGH I KNOW WHY THE ERROR
> OCCURS AND ALSO WHAT CODE IS IN ERROR I DO NOT KNOW THE CLEAN/NICE/ELEGANT WAY
> TO FIX IT.
> IS THERE ANYBODY WHO CAN LOOK INTO THIS !!!!!!!!!!!!!
> Wim Delvaux
I second that wish. I had the problem many times, looked in the manual
in the hope there was some solutions. After I saw one of the report
and knew this was a bug, I gave up. After hearing about gdb 5.0, I was
about to download and try it out just to resolve this specific
issue. It would be a major improvement.
Thanks a lot for all the work in gdb, it is nevertheless a great
debugger!
--
Laurent