Debugger runs the program if step caused a shared library load

Dario Vecchio dariovecchio at tiscali.it
Thu Nov 16 14:04:33 UTC 2006


I found this problem with debugger (kdevelop 3.4 svn, gdb 6.4):
- set a breakpoint in a line that (probably) cause a shared library load
- when the debugger stops on that line press step over button (or F10)
- the debugger doesn't stops on the next line, instead goes to run the
program

This is the code (default qt4 project):

-----------------------------------------------------
MyProject::MyProject()
{
      textEdit = new QTextEdit;   // <<<===  Set breakpoint here

      setCentralWidget(textEdit);  // <<<=== Must set another breakpoint
here in order to step without run the program

      createActions();
      createMenus();
      createToolBars();
      createStatusBar();

      readSettings();

      connect(textEdit->document(), SIGNAL(contentsChanged()),
            this, SLOT(documentWasModified()));

      setCurrentFile("");
}

-----------------------------------------------------

You have to set another breakpoint on the next line
"setCentralWidget(textEdit);" in order to step without run the program

You can better see the problem using the command line interface of gdb: use
"next" command to see the shared library load event.

In the file "languages/cpp/debugger/TODO.tx" I found this issue:

-----------------------------------------------------
BUGS/ISSUES found:

   - no stop reason for stop on shared library load

-----------------------------------------------------

Is it related to?

Dario





More information about the KDevelop-devel mailing list