今天我和同事们研究了一下午,有个问题始终搞不定。她的VS2003程序不能调试,设置的断点不会停下来,重装了机器也没有解决问题。看来想到的办法应该都用完了,不过我也没有思路,我电脑上装的是VS2005不能用来开发基于.NET的ArcObjects程序,不过也得硬着头皮上,谁叫我是经理呢。
创新互联公司专注于清河企业网站建设,成都响应式网站建设公司,商城建设。清河网站建设公司,为清河等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
我怀疑是项目文件是不是有问题,让她把文件迁移到新建的项目中。后来她发短信告诉我,说找到原因了,但是不知道怎么解决。问题变得更加诡异,能够运行两三次,然后就不行了。
她发现是MapControl的WhereClause设置不对VS2003导致程序抛出异常。另外她把代码发过来给我看看,非常简单一个MapControl然后加一个Command工程。怎么会这么怪呢,越来越怪了。我在看她的代码时发现一个问题,她用下面的语句来释放ArcObjects:
ESRI.ArcGIS.Utility.COMSupport.AOUninitialize.Shutdown();
m_AoInitialize.Shutdown(); // 释放 COM 对象
我查了一下代码没有m_AoInitialize.Initialize()的语句,没有初始化。
#t#然后我让她看看运行结束是否有AppROT.exe在,不过这个VS2003程序不一定是程序留下的,启动了ArcMap或者ArcCatalog也会有。但是如果这些程序没有启动也有的话就有问题了。的确有这样的事情,而且在别人机器上也是这个样子,只是能够调试的次数不一样而已。此时我已经基本上确定是这样回事了,让她去掉后面的m_AoInitialize.Shutdown()看看,但是她忙别的取了,我同学在旁边催我收拾东西下班了。
因为没有得到确认,所以上车后我发了条短信问了一下,许久,我已经到家了才回。的确如我所预料的那样,就是那么回事。通过QQ等聊天工具帮助别人解决VS2003程序问题,比在现场解决难度大很多,很多时候没有思路,但是经过几次尝试就有了思路,通过QQ这个确认的过程比较长,需要思考的时间比较多。
这让我想起了火星机器人,我是在远程遥控验证我的猜测,但是反馈比较慢,验证的东西相对来说比较少,需要深思熟虑后才去验证。但是这种方式可以清晰看出一个人的思路,是怎么分析问题的,被帮助的人收获很大,被迫把自己的思路暴露出来。
网页标题:探讨说明VS2003程序不能调试的问题
网页路径:http://www.gawzjz.com/qtweb/news25/166775.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联