近期Windows平台上,应用程序会莫名的闪退,还找不到原因。没有触发crash reportor,系统日志里面也没找到报错信息。
可以通过注册表,让系统在程序退出的时候暂停,并发出系统通知,显示为什么退出。
长话短说,xxx.exe就是具体可执行文件的名称。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\xxx.exe]
"GlobalFlag"=dword:00000200
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\xxx.exe]
"ReportingMode"=dword:00000004
或者可以通过Visual Studio的调试工具gflags来配置更丰富的行为,例如退出的时候附加调试器等等。
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/gflags