探讨说明VS2003程序不能调试的问题

开发 后端
希望我的一点经验能给大家带来帮助,导致VS2003程序调试出错的原因也许还有很多,不过在你遇到错误时,可以先检查一下你程序中的字符串,暂时把他们置为””,试试看。

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

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

责任编辑:chenqingxiang 来源: complayer的专栏
相关推荐

2009-11-30 15:57:18

VS2003 MFC

2009-11-27 09:53:15

VS2003安装程序

2009-12-11 14:38:06

VS2003安装程序

2009-11-27 10:14:44

2009-11-25 11:25:31

VS2003软件

2009-11-27 09:24:29

VS2003命令

2009-12-18 10:10:49

VS 2003程序

2009-11-27 13:22:42

VS2003无法调试

2009-11-30 16:50:26

VS2003调试

2009-12-01 10:54:48

VS2003 英文版

2009-11-26 10:02:06

2009-12-10 13:11:47

VS2003安装

2009-11-25 10:48:29

VS2003调试

2009-11-30 10:51:17

VS2003无法启动调

2009-11-30 13:51:28

ActiveX控件

2009-11-26 11:05:59

VS2003控件

2009-11-26 17:02:29

VS2003配置

2009-11-30 11:25:24

VS2003 UNIC

2009-11-27 09:16:11

VS2003配置文件

2009-12-01 09:16:22

VS2003和VS20
点赞
收藏

51CTO技术栈公众号