程序莫名挂起?C# 开发

问题描述

最近开发一个小程序,碰到一个莫名其妙的程序停止运行问题,好像休眠了一样,找了半天找不到问题,实在没辙了,所以请大家帮忙看看。我给大家描述一下程序的逻辑,大家有时间的话帮我分析一下出错的原因吧,谢谢了:)程序涉及GIS的一些东西,但这好像不影响对整个程序的理解。错误的现象:程序正常执行的时候占非常多的CPU时间(50%以上),但执行了一段时间后程序没有了响应,CPU占用减到0,内存占用也降了下来。这个时间不固定;出错时程序状态(变量、对象什么的)也不一样。程序的主要部分是循环执行下面的一段函数,这个函数是在独立于界面的一个线程里执行,功能就是用参数传进来一个表示一块地理区域的矩形范围,由一个具有地图展示功能的控件使用这个矩形范围输出一张256*256的图片,下面请看程序的主要部分(砍掉了一些无关细节)://formCutRMPStat是在主线程中创建的一个窗体,用来反馈进度信息,委托updateFormCutStatus用来更新反馈信息this.formCutRMPStatus.Invoke(updateFormCutStatus);//pExport是一个GIS开发组件专用的一个帮助输出用的接口inthDC=pExport.StartExporting();//在内存中开辟一块位图内存,返回其DC句柄//pActiveView是地图展示控件显示控制的接口,可以通过它来访问地图控件展示的地图的信息pActiveView.Output(hDC,(int)resolution,refpixBounds,extend,null);//将图像从地图展示控件复制到上面的位图内存pExport.FinishExporting(fileName);//将位图内存输出到一个Jpg图片文件pExport.Cleanup();//释放上面分配的位图内存上面就是程序的关键部分程序的主要部分就是不停的循环执行上面的这段函数,执行2到3万次后就开始不稳定,会在一个不确定的时候出现上面的情况,程序好像睡着了一样,没有反映了,请大家帮忙分析下,谢谢了

解决方案

解决方案二:
不懂,帮顶.

时间: 2024-08-30 14:27:28

程序莫名挂起?C# 开发的相关文章

如何让程序员更容易的开发Web界面?重构SmartAdmin展示TinyUI框架

序言 如何让程序员更容易的开发Web界面,是一个持久的话题,所有的从事相关开发的公司都会碰到这个问题,并且被这个问题所深深困扰. Tiny框架也不得不直视这个问题,确实来说,想解决这个问题,也是非常有难度与深度的,业界也有各种各样的尝试,这也是有各种各样不同框架出现的原因. Tiny框架构建者认为,完全采用一种框架解决所有问题,是不现实的.而且即使目前找得到一种非常好的框架,暂时可以满足应用需要,但是随着技术的发展,业务的进化,就会慢慢变得不再满足业务需要.因此,Tiny框架构建从不再把做一套U

哪位大虾帮我看看这个网站用的什么程序做的二次开发?

问题描述 刚看到一个技术站,做的不错,看上去像是用哪个Asp.net论坛程序做的二次开发.但是看起来不像Discuz!nt,但的确是Asp.net开发的.哪位大虾知道,告诉小弟一下,偶也想弄一个研究研究哈.地址: 解决方案 解决方案二:bbsmax.com解决方案三:楼上说的对,bbsmax,一个不错的程序.你给的技术站,也不错,顶一下解决方案四:该回复于2011-11-28 14:26:09被版主删除解决方案五:求源码解决方案六:看着用的人好像不多呀.也可能这个不是主力网站.解决方案七:好像这

mstsc 远程序桌面登录的 c#开发

远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过的动态库,而无需使用WINDOWS自带的OCX,因为使用OCX开发可以会遇到其它问题. 主要代码: public AxMSTSCLib.AxMsRdpClient rdpClient; rdpClient = new AxMSTSCLib.AxMsRdpClient(); rdpClient.Dock = DockStyle.Fill; rdpClient.Width = Screen.

Java程序员的日常 —— 多进程开发

最近再弄进程管理相关的工作,因此必要的就涉及到各种系统下关于进程的管理. 这里简单的介绍下: 如何在Java中执行命令 在windows下肯定是dos命令了,而在linux则为shell命令.执行的方式差不多相同: 方法1:Runtime windows版本: Process process = Runtime.getRuntime().exec("ipconfig /all"); Linux版本: Process process = Runtime.getRuntime().exec

Java程序员的日常 —— 多进程开发IO阻塞问题

本篇仍旧是源于最近的工作,总结一下纪念那些年埋下的坑... 背景故事 需求:"使用进程方式启动另一个程序!" 开发:"OK! Runtime.getRuntime().exec("xxxx")" 需求:"启动以后能看到输出消息不!" 开发:"OK!" Process process = null; try { process = Runtime.getRuntime().exec("ipconfi

在ASP程序应注意的问题---开发连接远程SQL Server

server|程序|问题 Microsoft SQL Server7.0是一种大型.分布式数据库系统,也可被认为是一种大型.分布式数据仓库.由于其与Windows NT和BackOffice以及Visual Studio具有紧密的配合,已被越来越多的网络应用系统所采用.而ASP程序也以其和NT的紧密连接,可使用ActiveX对象.CGI接口对象化等特点向CGI程序发起了有力的挑战.下面,就谈谈开发连接远程SQL Server 的ASP程序应注意的几个问题. SQL Server是一个十分注重安全

懂得保持平衡的程序员 不要只追求开发速度

最近在准备一支外包团队的过程中,我思考了一下:做为一个程序员,最珍贵的品质是什么?有个词一直在我的脑海里反复出现,它就是平衡.我们可以看到,一个成功的程序员在开发的时候,他对平衡的理解体现在很多方面,下面就是其中的一些: 速度和质量 最具的代表性的一个例子就是在软件开发过程中,速度和质量之间的平衡.开发软件时,如果只追求速度,不考虑代码的可维护性,这永远都是下下策.这就跟你无休无止的反复设计和琢磨你的软件却从未拿出来给用户试一下一样不可取.懂得平衡的程序员既能做到迅速的开发出代码,又能保证在整个

5个Linux平台程序员最爱的开发工具汇总_其它综合

Linux程序员经常抱怨,自从他们使用了免费开源的系统平台后,作为一名程序员,却并没有在代码编辑器上得到足够的重视.他们往往会认为Linux平台上的代码编辑器太少了,以至于影响他们的编程工作.但是事实并非如此,在Linux平台上有太多的代码编辑器供你使用了,下面我们分享了5个最受Linux程序员欢迎的代码编辑器,继续在编程的路上前行吧! 1.Eclipse Eclipse是一款很酷的开源代码编辑器,同时它也是最受程序员亲睐的代码编辑器之一,它拥有代码高亮和智能提示等强大的功能.在Eclipse中

使用Python和SL4A的Android应用程序: 构建您自己的开发环境

关于在 Google Android 平台进行开发的一个常见误解是,必须使用 Java 语言编写代码.实际上,通过 Scripting Layer for Android (SL4A) 项目您将拥有了多种选项.SL4A 刚开始时候是一个才完成 20% 的项目,是由 Google 员工 Damon Kohler 开发的.几乎耗费了 2 年时间,有了 4 个主版本. SL4A 为很多脚本编写语言(包括 Lua.Perl.Python 和 Rhino)提供了一个平台.它还支持基础的 Shell 脚本编