Debugger in 3.5.0 ...

Vladimir Prus ghost at cs.msu.su
Sat Oct 13 20:43:24 UTC 2007


On Saturday 13 October 2007 23:59:41 Andras Mantia wrote:
> Hi,
> 
>  again, I complain about the debugger in 3.5.0. It lost an important 
> functionality (or at least it seems to not work correctly): setting 
> breakpoints on shared library load.

What is setting breakpoints on shared library load. You mean "catch load"
(which never was exposed via UI), or setting breakpoints *in* shared library?

>  Now if you set a breakpoint in a source file which is inside a shared 
> library, you will get an error:
> 
> Debugger error
> Debugger reported the following error:
> No source file named XXX
> 
> Of course XXX does exists, so the error is missleading, but I accept 
> this comes from gdb. The dialog has an OK and Continue button. They do 
> the same (close the dialog), as the return value of the KMessageBox is 
> not even checked. :-0 
> The dialog also contains a "Do not ask again" box. (ask what? This isn't 
> a question, but well, warningYesNo is used...)
> 
> Once you get this error the breakpoint is REMOVED. If you ticked that 
> box, you won't see anything else but your breakpoints dissappear every 
> time you start to debug. Well, this is very annoying. If you don't 
> believe me, just try to debug something. Probably debugging a KDevelop 
> plugin would be enough.
> 
> I wanted to fix it before complaining, but this comment made me to write 
> the mail:
>     // Gdb 6.3 and later implement so called 'pending breakpoints' that
>     // solve this issue cleanly, but:
>     // - This is broken for MI -break-insert command (the breakpoint is
>     //   not inserted at all, and no error is produced)
>     // - MI does not contains notification that pending breakpoint is 
> resolved.
> 
> I have gdb 6.6. So what to do now? Is there any solution, or I should 
> just give this up and get a KDevelop version that is not using the MI 
> interface for gdb?

Well, there's a testcase for breakpoints in shared libraries, 
in languages/cpp/debugger/tests/dll/ and it works just fine for me. So,
apparently you should be either using different gdb from me, or doing
something differently. Do you have an exact reproduction recipe?

Well, in fact at this point of gdb development, I think adding pending
breakpoints for MI should be like 10-line change, which I can do and
I'm almost sure I'll get that in. But, it would mean you have to use
CVS HEAD of gdb. Not that gdb CVS HEAD is usually unstable, but still.

- Volodya




More information about the KDevelop-devel mailing list