版本:.Net Framwork4.0
服务器系统:windows server 2008
我的需求是通过我这个Winform程序调用C++动态库和硬件设备建立通信,通信建立完成后,再调用这个动态库定时收发数据,其中程序中使用了3个定时器,会操作到数据库。程序写完后,所有功能都能满足我的需求,但是就是每次在服务器上运行大概1个小时后,程序就挂了,try cache也没捕捉异常,错误提示界面:
查看windows日志有提示错误:
求高手解决,高分悬赏。。。。。
解决可以另加分。。。
你说的建议我之前有考虑,所以在数据库的连接串里面加了 pooling=false 但是仍然有相同的问题。
追答功力不足了 抱歉……
追问还是要谢谢你。
try catch 在每个方法里面都有写,就是捕捉不到异常,有两个定时器有操作同一个DataTable 但是我lock了,应该不会是这边的原因。
追答虽然try捕获不了错误,但日志写的很清楚,是System.AccessViolationException错误。
此错误大部分是由于访问受保护或损坏的内存而引起的。
(官方: 在试图读写受保护内存时引发的异常。)
原因不是在于C#程序而是在C++编的那个DLL里。
将dll里函数需要返回的局部变量都声明为static。
如果还是错,那就是C++代码的问题了。
里面已经全部是Static变量了