Crash is a very simple program which injects a thread into an application with the understanding that as soon as windows NT schedules that thread, the application will crash.

Why would you want to do this?

Sometimes you have a program which is stuck in an infinite loop and need a stack trace from it. While it's true that you could attach a debugger in order to get such a trace, it doesn't help if the symbols aren't available. Sometimes applications have their symbols stripped into a database (e.g. talkback), which means that the best way to get a stack is to force talkback to generate a report.

How do I use this program?

Is the source available?

Yes, as crash.cpp.