I know that with windows you can generate a dump file by going to task manager->processes-> right clicking on the process.
As per https://msdn.microsoft.com/en-gb/library/d5zhxt22.aspx a dump file is a snapshot of the application at that moment in time.
Dump files are used to aid debugging applications when they go wrong.
A .dmp file is a Minidump, a snapshot of a live process containing information about its current state (including memory, stack traces, thread information, module information, exception context information). This information allows you to inspect a snapshot of a process. It is often generated when a process is about to crash due to an unhandled exception, but can be taken at any point.
It can be created using the MiniDumpWriteDump API, and opened with any Windows Debugger (like Visual Studio1) or WinDbg, KD, CDB, NTSD). See Crash Dump Analysis for additional information.