简体   繁体   中英

“Program has encountered an error” vs “Unhandled exception”

I have created a program that I have released online. I have tried to handle all the exception , but sometimes the program still has crashes. But when I reproduce the crash on my side, it says: "Unhandled exception has occurred in your application". The users of my program see "The program has encountered a problem" and a little bar comes up with text above it "Looking for solution".

Do I see a different window to the users because I have the full development environment installed and they just have the runtime? And is there a way to save the DEV state of the program when it crashes or bring up a message saying: "The program has crashed, would you like to send details to the developer" or something like that?

我建议将事件处理程序添加到Application.ThreadExceptionAppDomain.CurrentDomain.UnhandledException以在那里实现常规错误处理。

Sounds like you're developing for windows. The crash your users are seeing is different presumably because when you're running it you have a debugger attached.

What you could do is download the "Microsoft Ecosystem Metadata Exchange" (MEME) program from https://sysdev.microsoft.com/ , by logging in with your MSDN account, you should be able to find the download.

The "Looking for solution" dialog is sending minidumps to sysdev.

  • register your binaries with the MEME tool
  • check out sysdev site for your minidumps
  • open minidump with visual studio and select your binary
  • you're in debug mode broken at the exception.
  • inspect call stack
  • profit

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM