探讨说明VS2003程序不能调试的问题
创始人
2024-06-12 16:30:15
0

今天我和同事们研究了一下午,有个问题始终搞不定。她的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这个确认的过程比较长,需要思考的时间比较多。

这让我想起了火星机器人,我是在远程遥控验证我的猜测,但是反馈比较慢,验证的东西相对来说比较少,需要深思熟虑后才去验证。但是这种方式可以清晰看出一个人的思路,是怎么分析问题的,被帮助的人收获很大,被迫把自己的思路暴露出来。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...