Forward debugging is one of the most commonly found debugging mechanism present in the state-of-the art tools. Often, during debugging, we make mistakes that force us to re-run the complete project again. It may become irritating when you are debugging a complex data-structure at a particular state.
There are some solutions present to this problem. For example have a look at http://lizard.sourceforge.net/ which allows backward debugging. Apparently, it seems that there are some enhancements/enrichments possible in this project. I can discuss my ideas with anyone who wants to take this idea further as a project.