Version: 3.5 (using KDE KDE 3.5.0) Installed from: I Don't Know Compiler: gcc (GCC) 3.4.1 OS: Linux When trying to debug a project that uses libtool you have to specify the debugging shell as 'libtool --mode=execute'. (As shown in the faq). If you try to start the debugger Kdevelop claims: "could not locate the debugging shell 'libtool --mode=execute'" In DebuggerPart::startDebugger() a QFileInfo info( 'libtool --mode=execute' ) is created. Then info.exists() is called, which fails because 'libtool --mode=execute' does not exist.
KDevelop 3.5 does not exist yet. You are probably using KDevelop 3.3 RC1
This is indeed so. Moreover, if the value of debugging shell is not an absolute path, the current code will unconditionally add project build dir to it. Probably not a good idea.
KDevelop 3.3.1 on KDE 3.5.1a has this same issue. running SuSe Linux 10.0 OSS (x86_64) with an update to 3.5.1 gcc 4.0.2 & GDB 6.3 It seems that this bug causes the debugger not to work with automake manager type of projects. Starting with only libtool as debugging shell (project options -> debugger) gives the next output : /bin/sh -c /home/olger/svndir/bcp/mntc/products/core/src/cpp/debug/libtool gdb /home/olger/svndir/bcp/mntc/products/core/src/cpp/debug/eibws/tests/mimeParseTest -fullname -quiet (gdb) set edit off (gdb) set confirm off *** Warning: inferring the mode of operation is deprecated. *** Future versions of Libtool will require -mode=MODE be specified. Using host libthread_db library "/lib64/tls/libthread_db.so.1". (gdb) (gdb) (gdb) set print static-members off (gdb) tty /dev/pts/3 (gdb) set width 0 (gdb) set height 0 (gdb) set stop-on 1 (gdb) handle SIG32 pass nostop noprint (gdb) handle SIG41 pass nostop noprint (gdb) handle SIG42 pass nostop noprint (gdb) handle SIG43 pass nostop noprint (gdb) set print asm-demangle on (gdb) set output-radix 10 (gdb) cd /home/olger/svndir/bcp/mntc/products/core/src/cpp/debug (gdb) break /home/olger/svndir/bcp/mntc/products/core/src/cpp/eibws/tests/mimeParseTests.c:83 (gdb) Process exited Kdevelop returns with a messagebox stating "GDB exited abnormally" libtool --mode=execute gives the statement as described here.
I have the very same problem. I'm on Gentoo ~amd64. Everything is fine with kdevelop 3.3.1, but debugging is broken in 3.3.91. After upgrading to 3.3.91 and viewing the problem, I downgraded to 3.3.1 and it 'solves' the problem. so I think it's a problem relative to kdevelop.
SVN commit 620084 by dagerbo: Allow arguments to the debugging shell BUG: 117063 M +7 -4 debuggerpart.cpp --- branches/kdevelop/3.4/languages/cpp/debugger/debuggerpart.cpp #620083:620084 @@ -641,17 +641,20 @@ QString shell = DomUtil::readEntry(*projectDom(), "/kdevdebugger/general/dbgshell"); if( !shell.isEmpty() ) { - QFileInfo info( shell ); + shell = shell.simplifyWhiteSpace(); + QString shell_without_args = QStringList::split(QChar(' '), shell ).first(); + + QFileInfo info( shell_without_args ); if( info.isRelative() ) { - shell = build_dir + "/" + shell; - info.setFile( shell ); + shell_without_args = build_dir + "/" + shell_without_args; + info.setFile( shell_without_args ); } if( !info.exists() ) { KMessageBox::error( mainWindow()->main(), - i18n("Could not locate the debugging shell '%1'.").arg( shell ), + i18n("Could not locate the debugging shell '%1'.").arg( shell_without_args ), i18n("Debugging Shell Not Found") ); return false; }