记一次 .NET 某企业审批系统 崩溃分析
💡
原文中文,约9300字,阅读约需23分钟。
📝
内容提要
文章分析了一次程序崩溃的原因,发现是内存不足导致的`OutOfMemoryException`,并在全局异常处理中抛出`TargetInvocationException`。建议通过修改图标尺寸来避免双重异常。
🎯
关键要点
- 文章分析了一次程序崩溃的原因,发现是内存不足导致的OutOfMemoryException。
- 全局异常处理中抛出了TargetInvocationException,导致程序崩溃。
- 崩溃的根本原因是GdipCreateFromHDC方法返回num=3,手动抛出了OutOfMemoryException。
- 在全局异常处理时,初始化frmErrorMessage时又抛出了Win32Exception。
- 建议通过设置多尺寸的图标图片来避免双重异常的发生。
❓
延伸问答
导致程序崩溃的主要原因是什么?
程序崩溃的主要原因是内存不足,导致抛出了OutOfMemoryException。
全局异常处理中抛出的异常是什么?
全局异常处理中抛出了TargetInvocationException。
如何避免程序崩溃中的双重异常?
建议通过设置多尺寸的图标图片来避免双重异常的发生。
GdipCreateFromHDC方法返回的num值代表什么?
GdipCreateFromHDC方法返回的num=3,表示内存不足。
在崩溃分析中使用了哪些工具?
使用了windbg的!analyze -v命令来观察崩溃信息。
崩溃的根本原因是什么?
崩溃的根本原因是GdipCreateFromHDC方法抛出了OutOfMemoryException。
➡️