I need a Windows tool that records inputs and debugging information that cause program's crashing. I don't mean a fuzzing software tool! For example, let me describe a scenario to explain what I'm talking about.
Sometimes while using a program, it will crash without a known reason, and when I want to debug it, I can't find helpful informations to know how the crash happened because the data that caused the crash no longer exists anywhere.
So I need a tool records all the inputs and debugging information to be able to reuse the input data and reproduce the crash under a debugger like Immunity Debugger and OllyDbg in order to understand how the crash happened.
EDIT: I need to be able to do this for a program that I did not write. Assume that I do not have access to view or modify its source code.