http://sunsite.ualberta.ca/Documentation/Gnu/gdb-4.18/html_chapter/gdb_toc.html
your IDE may facilitate a lot of those operations.
read what you are interested in, by instance 5.1 talks about breakpoints, and 5.2 about stepping.
In order to set a breakpoint in a particular line of code, that place should be interesting. You may want to know how did you reach it (backtrace), what is your status (print variables) or how the execution behaves from there (stepping)
> enough to reproduce your issue.
>> Uh well, as it happens I'm not exactly a very good coder
>> and most of my code is so highly interdependent upon itself
>> that I can't easily separate one part from another.
>> So, including only part of it might prove unfeasible...
It would be a good exercise if you can isolate the issue. Until then, if you've got to upload the whole project then do so.
I'll recommend to use github in that case. Also include an example user input, and expected output.
> I don't know how to use a debugger and honestly don't know where to start.
http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks
set a breakpoint in main() and step into your whole program.
About your third point, there is a problem in the communication. Your description of the problem is too vague, and I have no idea about your program.
when you say "freeze", ¿how is the processor usage?