Tanto o procdump quanto o WER são bons para capturar despejos de memória do modo de usuário quando um aplicativo falha.
A regra geral é que quanto mais abrangente o despejo, mais útil ele pode ser, porque os mini-dumps, os dumps híbridos e os dumps personalizados omitem bits de dados que podem ter sido úteis em uma investigação de causa raiz para para economizar espaço em disco.
O WER captura mini-dumps por padrão, mas pode ser configurado para capturar despejos completos.
(Quando eu digo "despejo completo" neste contexto, quero dizer o espaço de endereço do processo de usuário completo do processo em questão - qualquer coisa do modo kernel está fora do escopo.)
procdump.exe, por outro lado, é uma ferramenta da Sysinternals (Mark Russinovich, Andrew Richards, e outros), que é projetada para ser muito mais flexível que o WER. Se WER era uma faca de manteiga, então procdump é um canivete suíço. Por exemplo, o procdump.exe pode ser configurado para capturar automaticamente um dump (ou uma série de dumps) quando um processo permanece > 90% de uso da CPU por 10 segundos ou > 500MB de uso de memória, etc. etc. O procdump também pode ser configurado como seu depurador post-mortem permanente do AeDebug, que basicamente faz dele um substituto para o WER naquele ponto.
O WER funciona bem o suficiente (especialmente quando configurado para capturar despejos de processo completos) e tanto o WER quanto o procdump capturam o mesmo tipo de despejo, mas você só precisa de um ou outro. Não há realmente nenhum sentido em tentar usar os dois.
procdump -ma -i C:\Dumps
configura o procdump.exe para executar automaticamente um despejo de memória de processo completo sempre que um processo em modo de usuário falha na máquina e o coloca no diretório C: \ Dumps.
Isso também trará um serviço do Windows com falha, a menos que o desenvolvedor do serviço tenha escrito especificamente o serviço para fazer seu próprio tratamento de exceção e evitar ser pego pelos depuradores, o que é bastante raro. (E, mesmo assim, o procdump pode ser configurado para despejar exceções de primeira chance também.)
PS: Você pode ver a mensagem "serviço encerrado inesperadamente" se o serviço realmente travou, mas você também pode ver a mesma mensagem se o serviço pareceu precisar sair sem cooperar com o Service Manager como deveria. Nesse caso, o desenvolvedor do serviço era apenas um desenvolvedor ruim e, como não houve nenhuma falha real, nem o WER nem o procdump o ajudarão.