Our Java Test Coverage tool shows the executed lines (and partial lines) superimposed on your source code using its built-in display. It is not specifically Eclipse-based, but OP's issue seems to be with scale and interactivity, not Eclipse.
It suffers, as most probe-based test coverage tools do, from an inability to provide precise coverage information on unconditional blocks of code which throw an exception in the middle; it will record the entire block as "executed" if only part of it is executed, and it will capture the execution of any associated exception handler. However, unlike most binary instrumenters, if it encounters multiple conditionals in a single line of code, it will correctly capture which part of the line gets executed.
It can collect execution information from tests of any kind, include manual exercising of the code. It can also be configured to collect test coverage data at any point during program execution, so it is useful for collecting coverage on long-running server programs, or if you need to abort the execution at some arbitrary point.