Thanks, here's the log and my summary of what I did:
Started the program (a debug build).
I clicked "pause" three times, nothing happened (ie, the program gept going on its merry way)
I then closed the program. The program didn't stop as it usualyl does, it seems clicking pause causes it to either break or hang when I close it.
I clicked "Continue: again assuming it would end the program. It didn't.
I then just clicked "Stop debugging."
Building to ensure sources are up-to-date
Selecting target:
lin debug
Adding source dir: /home/caibbor/proj/btech3/codeblocks/
Adding source dir: /home/caibbor/proj/btech3/
Adding file: /home/caibbor/proj/btech3/run/btech3_debug
Changing directory to: /home/caibbor/proj/btech3/run/
Set variable: LD_LIBRARY_PATH=.:
[debug]Command-line: /usr/bin/gdb -nx -fullname -quiet -args /home/caibbor/proj/btech3/run/btech3_debug
[debug]Working dir : /home/caibbor/proj/btech3/run
Starting debugger: /usr/bin/gdb -nx -fullname -quiet -args /home/caibbor/proj/btech3/run/btech3_debug
done
[debug]Reading symbols from /home/caibbor/proj/btech3/run/btech3_debug...
[debug]> set prompt >>>>>>cb_gdb:
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
[debug]done.
[debug](gdb) >>>>>>cb_gdb:
[debug]> show version
[debug]GNU gdb (GDB) 7.6.1-ubuntu
[debug]Copyright (C) 2013 Free Software Foundation, Inc.
[debug]License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
[debug]This is free software: you are free to change and redistribute it.
[debug]There is NO WARRANTY, to the extent permitted by law. Type "show copying"
[debug]and "show warranty" for details.
[debug]This GDB was configured as "i686-linux-gnu".
[debug]For bug reporting instructions, please see:
[debug]<http://www.gnu.org/software/gdb/bugs/>.
[debug]>>>>>>cb_gdb:
[debug]> set confirm off
Debugger name and version: GNU gdb (GDB) 7.6.1-ubuntu
[debug]>>>>>>cb_gdb:
[debug]> set width 0
[debug]>>>>>>cb_gdb:
[debug]> set height 0
[debug]>>>>>>cb_gdb:
[debug]> set breakpoint pending on
[debug]>>>>>>cb_gdb:
[debug]> set print asm-demangle on
[debug]>>>>>>cb_gdb:
[debug]> set unwindonsignal on
[debug]>>>>>>cb_gdb:
[debug]> set print elements 0
[debug]>>>>>>cb_gdb:
[debug]> set disassembly-flavor intel
[debug]>>>>>>cb_gdb:
[debug]> catch throw
[debug]Function "__cxa_throw" not defined.
[debug]Catchpoint 1 (throw)
[debug]>>>>>>cb_gdb:
[debug]> source /usr/share/codeblocks/scripts/stl-views-1.0.3.gdb
[debug]>>>>>>cb_gdb:
[debug]> directory /home/caibbor/proj/btech3/codeblocks/
[debug]Source directories searched: /home/caibbor/proj/btech3/codeblocks:$cdir:$cwd
[debug]>>>>>>cb_gdb:
[debug]> directory /home/caibbor/proj/btech3/
[debug]Source directories searched: /home/caibbor/proj/btech3:/home/caibbor/proj/btech3/codeblocks:$cdir:$cwd
[debug]>>>>>>cb_gdb:
[debug]> run
[debug]Starting program: /home/caibbor/proj/btech3/run/btech3_debug
[debug][Thread debugging using libthread_db enabled]
[debug]Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[debug]AnimName = Wave
[debug]---- SDL Video Init ----
[debug]Startup Args:
[debug]---- Random Number Init ----
[debug]---- OpenGL Init ----
[debug]Vendor: NVIDIA Corporation
[debug]Version: 3.3.0 NVIDIA 331.20
[debug]Renderer: GeForce 9800M GS/PCIe/SSE2
[debug]Video Ram Total: 524288
[debug]Video Ram Avail: 433992
[debug]RGBA Color Bits: 8, 8, 8, 0
[debug]Depth Bits: 24
[debug]Stencil Bits: 0
[debug]Max Texture Size: 8192x8192
[debug]Max Lights: 8
[debug]Max Clip Planes: 8
[debug]Max Attribute Stacks: 16
[debug]Max Texture Stacks: 10
[debug]Max Vertex Uniforms: 4096
[debug]Max Fragment Uniforms: 2048
[debug]Extensions: 238
[debug]---- Renderer Init ----
[debug]---- SDL Audio Init ----
[debug]---- Packages ----
[debug]Loading shader: shd/gradient.vs
[debug]Loading Package: ./data/foo.zip
[debug]Loading Package: ./data/1
[debug]Loading shader: ./data/1/shd/textured2d.vs
[debug]Loading shader: ./data/1/shd/animMesh.fs
[debug]Loading shader: ./data/1/shd/colorizetex.vs
[debug]Loading shader: ./data/1/shd/multicolortex2d.vs
[debug]Loading shader: ./data/1/shd/particle.fs
[debug]Loading shader: ./data/1/shd/colorizetex2d.vs
[debug]Loading shader: ./data/1/shd/colorizetex.fs
[debug]Loading shader: ./data/1/shd/animMesh.vs
[debug]Loading shader: ./data/1/shd/gradient.vs
[debug]Loading shader: ./data/1/shd/animSkel.vs
[debug]Loading shader: ./data/1/shd/textured.vs
[debug]Loading shader: ./data/1/shd/minimal.fs
[debug]Loading shader: ./data/1/shd/multitex.vs
[debug]Loading shader: ./data/1/shd/multitex.fs
[debug]Loading shader: ./data/1/shd/multicolortex.vs
[debug]Loading shader: ./data/1/shd/textured.fs
[debug]Loading shader: ./data/1/shd/minimal.vs
[debug]Loading shader: ./data/1/shd/gradient.fs
[debug]Loading shader: ./data/1/shd/particle.vs
[debug]Error: Diffuse texture does not exist: all_white_test_ for material: ./data/1/mdl/modules/floor.mtl.
[debug]Loading Package: ./data/folder.txt
[debug]Loading Package: ./data/foo.zip
[debug]Loading Package: ./data/1
[debug]Loading Package: ./data/folder.txt
[debug]Loading Package: ./data/foo.zip
[debug]Loading Package: ./data/1
[debug]Loading Package: ./data/folder.txt
[debug]Code::Blocks is trying to interrupt process with pid: 17436; child pid: 0 gdb pid: 17436
[debug]Code::Blocks is trying to interrupt process with pid: 17436; child pid: 0 gdb pid: 17436
[debug]Code::Blocks is trying to interrupt process with pid: 17436; child pid: 0 gdb pid: 17436
[debug]Quit
Child process PID: 17444
[debug][New Thread 0xb032ab40 (LWP 17444)]
[debug][Thread 0xb032ab40 (LWP 17444) exited]
[debug][New Thread 0xb032ab40 (LWP 17445)]
[debug]>>>>>>cb_gdb:
[debug]> info frame
[debug]No stack.
[debug]>>>>>>cb_gdb:
No stack.
Continuing...
[debug]> cont
[debug]Cannot execute this command while the selected thread is running.
[debug]Continuing.
[debug]>>>>>>cb_gdb:
[debug]> info frame
[debug]No stack.
[debug]>>>>>>cb_gdb:
No stack.
[debug]> quit
Debugger finished with status 0
edit: all the shader stuff and opengl info output is from my program not the debugger.... if that's not obvious.
[debug]Code::Blocks is trying to interrupt process with pid: 17436; child pid: 0 gdb pid: 17436
[debug]Code::Blocks is trying to interrupt process with pid: 17436; child pid: 0 gdb pid: 17436
[debug]Code::Blocks is trying to interrupt process with pid: 17436; child pid: 0 gdb pid: 17436
[debug]Quit
Child process PID: 17444
[debug][New Thread 0xb032ab40 (LWP 17444)]
[debug][Thread 0xb032ab40 (LWP 17444) exited]
[debug][New Thread 0xb032ab40 (LWP 17445)]
Look, the true pid value (17444 or 17445) returned AFTER you hit the stop button, this is mostly because your program log out too many messages, which make the parser for C::B debugger parser wrong.
I'm not following... You're saying that my printf()s are causing CB to parse GDB's output incorrectly? I'm no sure what "new thread" is for, my program is not multithreaded, unless a dependency is (maybe SDL)
I'm not a Linux user, so what I said is my guess(which may be wrong)
Basically, C::B need to parse the response message from GDB to get the correct inferior(debugee) pid.
For example, when you start debugging and running the inferior(debugee), GDB will report some message like:
[New Thread 0xb032ab40 (LWP 17444)]
Then, in C::B, if it get parsed, it know the inferior pid, in the above case, it is 17444.
Now, when you want to pause the inferior, there is a function call like "Break(17444)", this will halt your inferior(debugee).
Apparently, in the log messages showed, C::B has failed to catch the inferior pid, so it can't halt the inferior.
You can try to create a simple hello world application, and test again to see whether it works. I guess the log messages from your app have affect on the C::B debugger parser.