.Net写的Winform程序,运行一段时间就停止了,高分求教。 100
版本:.NetFramwork4.0服务器系统:windowsserver2008我的需求是通过我这个Winform程序调用C++动态库和硬件设备建立通信,通信建立完成后...
版本:.Net Framwork4.0
服务器系统:windows server 2008
我的需求是通过我这个Winform程序调用C++动态库和硬件设备建立通信,通信建立完成后,再调用这个动态库定时收发数据,其中程序中使用了3个定时器,会操作到数据库。程序写完后,所有功能都能满足我的需求,但是就是每次在服务器上运行大概1个小时后,程序就挂了,try cache也没捕捉异常,错误提示界面:
查看windows日志有提示错误:
求高手解决,高分悬赏。。。。。
解决可以另加分。。。 展开
服务器系统:windows server 2008
我的需求是通过我这个Winform程序调用C++动态库和硬件设备建立通信,通信建立完成后,再调用这个动态库定时收发数据,其中程序中使用了3个定时器,会操作到数据库。程序写完后,所有功能都能满足我的需求,但是就是每次在服务器上运行大概1个小时后,程序就挂了,try cache也没捕捉异常,错误提示界面:
查看windows日志有提示错误:
求高手解决,高分悬赏。。。。。
解决可以另加分。。。 展开
展开全部
是不是3个计时器在1小时后都调用了同一个函数而导致的崩溃?
还有你try_catch应该在Timer事件里...
还有你try_catch应该在Timer事件里...
更多追问追答
追问
try catch 在每个方法里面都有写,就是捕捉不到异常,有两个定时器有操作同一个DataTable 但是我lock了,应该不会是这边的原因。
追答
虽然try捕获不了错误,但日志写的很清楚,是System.AccessViolationException错误。
此错误大部分是由于访问受保护或损坏的内存而引起的。
(官方: 在试图读写受保护内存时引发的异常。)
原因不是在于C#程序而是在C++编的那个DLL里。
将dll里函数需要返回的局部变量都声明为static。
如果还是错,那就是C++代码的问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这明显是多线程引起的异常,应该是你的多个线程同时访问同一个资源引起的,自己多理理代码吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询