But "binary-less" debugging is not really supported except for the attach case. With "C/C++ attach to application" you don't have to specify a binary, you just choose one to attach to when you get prompted.
Another option is to launch any non-stop debug session with some binary, and then start a new binary using the context menu "Debug New Executable". That new binary does not have to be part of the launch config.
If you don't want to start a useless first binary, you could achieve this by using a C/C++ Attach to Application but use gdbserver (option in the Debugger tab of the launch config). In that case you don't
need any binary in the launch config, and you are not forced to attach to a process when you launch; so, after the launch, you can "Debug New Executable" and start any binary. The disadvantage of that is
that you use a 'remote' type of launch which does not realize it can use the local file system. If you want to do that, just start gdbserver on localhost. http://wiki.eclipse.org/CDT/User/FAQ#How_do_I_debug_a_remote_application.3F (look at "remote attach launcher").