【发布时间】:2012-07-20 06:08:11
【问题描述】:
我正在使用 winforms 在 Visual C# 中开发一个应用程序。
该应用程序基本上是一个带有三个选项卡的屏幕。 它显示每秒在系统上运行的进程的值(使用 System.Diagnostics.Process[] )。
它生成和更新大量数字和计算(大约 4000/秒)。但是在 10000 次迭代或大约 45 分钟的工作之后,它就崩溃了,令人惊奇的是它总是在同一时间崩溃。
此处涉及的 RAM 仅为 70mb,并且在 windows xp 和 windows 7 下的应用程序的 CPU 负载从未超过 35%。该应用程序的目的是允许用户查看系统上运行的进程与 cpuload 和内存负载.出于安全原因,我们无法推荐任务管理器。
C# 中的任何try - catch 方法都不会捕获错误
以下屏幕是崩溃后的示例
主应用程序屏幕如下所示
有没有人遇到过应用程序在固定运行时间后崩溃的情况。
请建议一种诊断工具或捕获此类错误的方法。
感谢回复
【问题讨论】:
-
你检查过内存泄漏吗?你有任何代码吗?
-
它只是一个运行无限循环的计时器,它获取所有进程并在网格中显示。喜欢做 { Process[] plist = Process.GetProcesses(); } 而(真);内存泄漏(甚至更大的应用程序运行良好,而且它总是在固定运行后崩溃)。顺便说一句,你在 wordpress 上的博客很好。
-
你是否也使用线程,例如后台工作者
-
很难说是什么原因。如果它在特定迭代后崩溃,那么它可能是一些超出数组索引的东西。粘贴一些你认为可能是问题的代码,特别是你的 timier 代码
标签: c# winforms crash process diagnostics