Just a quick note here—you can still debug a program using gdb [1] if the debug information exists in the executable, even if gdb doesn't have access to the source files. It will still print out filenames and line numbers, and you can still examine the contents of variables. I just spent an hour with TS debugging an issue with “Project: Lumbergh [2]” on our lab machines, running gdb in one terminal, and an editor in a second terminal following the files and line numbers given by gdb.
Not quite the optimum experience, but at least it was doable.
I'm also not sure what it says about “Project: Lumbergh” that the issue turned out to be a configuration issue—the configuration was legal at one time, but not with a newer version of the code. I think the codebase is slowly turning into a big ball of mud [3].