现在我的c#程序,有时候连续运行1个小时没问题(里面不断有循环),有时候运行10分钟就有以下提示: 访问禁止读写的内存....... 内存已损坏
或者
遇到什么......严重错误,程序无法继续 我想问,有没有什么工具可以捕抓整个程序的错误,难道我要在所有的程序块都要加上 try catch ?
或者有什么日志工具(适合vs2008),能够记录整个程序运行过程中出现的所有错误,并且记录错误所在行.
或者
遇到什么......严重错误,程序无法继续 我想问,有没有什么工具可以捕抓整个程序的错误,难道我要在所有的程序块都要加上 try catch ?
或者有什么日志工具(适合vs2008),能够记录整个程序运行过程中出现的所有错误,并且记录错误所在行.
解决方案 »
- mandelbrot图像实现不了菜鸟求指点
- 如何获取某路径下的文件的文件名?
- 小弟要学习RGB与CMYK转化方面的知识,求各位给点好资料!比如说我的一副照片由RGB转换为CMYK,对图片有什么影响呢?哪个转换算法比较好?如果您知道或您知道这方面的资料,请告诉小弟!谢谢!
- 奇怪错误
- 请问用 c# 写 PocketPC 程序的时候如何执行一个外部程序(带参数)?
- 求教listview问题
- 无法捕获CrossThreadMessagingException异常信息
- 如何从数据库中读取并列为复选框?
- 创建的虚拟目录不能用,这是为什么(在线等,答对马上结贴)急!!!
- 怎么译:Attributes 和 properties?
- 关于Session超时 弹出提示页面跳转登陆 之后继续执行的问题
- 在线等:OleDbException (0x80004005): Disk or network error错误
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); Application.Run(new Form1());
} static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
throw new NotImplementedException();
}
}即始这样也不能保证所有异常都被捕捉到。
像“ 访问禁止读写的内存”,一般都是用到了其他非托管类型的DLL,例如C++,delphi等等,才会出现这样的错误
啥意思 ,try catch ?
{
InitializeComponent();
}
如果要捕获全局错误,我看网上的例子,应该不是winform的(请看下面),但如果是winform的,要捕抓全局 try catch,应该怎么try?
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
try
{
//处理未捕获的异常
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
//处理UI线程异常
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
//处理非UI线程异常
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
catch (Exception ex)
{
string str = "";
string strDateInfo = "出现应用程序未处理的异常:" + DateTime.Now.ToString() + "\r\n"; if (ex != null)
{
str = string.Format(strDateInfo + "异常类型:{0}\r\n异常消息:{1}\r\n异常信息:{2}\r\n",
ex.GetType().Name, ex.Message, ex.StackTrace);
}
else
{
str = string.Format("应用程序线程错误:{0}", ex);
}
writeLog(str);
MessageBox.Show("发生致命错误,请及时联系作者!", "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }