2011. 7. 18. 21:35

"디버깅 하시겠습니까" 창 나오지 않게 하기

출처: http://stackoverflow.com/questions/396369/how-do-i-disable-the-debug-close-application-dialog-on-windows-vista

Stackoverflow 에서 다음과 같은 질문에 대한 답을 찾았습니다.

How do I disable the 'Debug / Close Application' dialog on Windows Vista?

 


: 비스타라고 질문했지만 Windows 7 에서도 동작하였습니다.

Windows Error Reporting (WER) 이 크래쉬 덤프를 취한 후에 app 을 강제로 종료하도록 하기 위해서는 아래와 같이 레지스트리를 설정하면 됩니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting]
"ForceQueue"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Consent]
"DefaultConsent"=dword:00000001

이렇게 설정된 후 app 에서 크래쉬가 발생하면, 아래 위치에서 *.hdmp 와 *.mdmp 파일을 볼 수 있습니다.

%ALLUSERSPROFILE%\Microsoft\Windows\WER\
 
레지스트리 수정 외에도 코드에서 app의 코드 내에서도 수정할 수가 있군요.
코드는 아래와 같은데, 자세한 내용은 아래 링크를 참고하시기 바랍니다. 

DWORD dwMode = SetErrorMode(SEM_NOGPFAULTERRORBOX);
SetErrorMode(dwMode | SEM_NOGPFAULTERRORBOX);

http://blogs.msdn.com/b/oldnewthing/archive/2004/07/27/198410.aspx