Hello all,
I've been using Code::Blocks on and off for quite some time now, and it's been doing well. I've had only one "small" issue so far and haven't figured it out yet.
I'm currently developing an extension for a program, that I need to compile as .so under Linux and .dll under Windows. The host executable does not provide debugging information (symbols) under neither Windows or Linux.
On Windows, everything is fine. I compile the dll, put it alongside my executable, the executable loads the dll, and whenever a crash occurs, gdb nicely shows me where in my code I went wrong. Also, when I run the debugger, the application will open a window of it's own.
On Linux, the whole executable is a pain in the butt. The executable is a bit old, so the only way to run it is to point LD_LIBRARY_PATH to older versions of compiled libraries (libc, libm, ld). If I don't do this, the executable (which is a console application by the way) will segfault upon initializing and I haven't found any other way to solve it. If I compile my shared object as-is, it will compile fine but will throw me a bunch of errors when the program tries to load my shared object. I've resolved this by using older header files of gcc (2.95) that match the other compiled libraries. The application runs fine with the shared object, and everything just works.
... except the debugger. For some reason, I can't get the executable to run in a terminal like it's supposed to. I can set the application log to the Debugger Log tab (and that works perfectly), but whenever I run it, gdb just freezes and I cannot pass any command to it until the application has stopped. I also can't "Stop debugging", since gdb isn't responding to anything I or CodeBlocks itself does. Whenever a crash does occur, no debugging information is shown (also because the symbol info isn't read during init?).
Any help would be greatly appreciated.
Software Info:
Debian Sid x64, up to date.
CodeBlocks svn 7440 (Aug 31).
Everything GCC related plus multilib (the host app and shared object are 32 bit).