C#程序在Windows8下能运行而在XP下双击无反应的一次遭遇

现象:使用C#开发了一个小的WinForm程序,在Windows8系统上运行正常,在XP上却无法运行,双击程序图标,没有任何反应

现象:

使用C#开发了一个小的WinForm程序,在Windows8系统上运行正常,在XP上却无法运行,双击程序图标,没有任何反应。


调试限制条件:

由于XP上不能安装开发环境,所以不能在XP上进行源码级别调试。


分析步骤:

(1)项目属性设置CPU为x86(默认是Any),这样程序在XP上运行时,就会报异常错误提示窗口,内容是 对象引用为空。有反应总比不声不响的死去好,问题是那个对象引用为空?为什么Win8下不报错呢?

(2)逐行注释源代码排查,无果。

(3)查找所有对象引用使用情况,发现在窗口大小改变事件响应方法中有一个对象引用使用前没有判断是否为null。为验证,在Win8下运行程序,正常启动后,调整窗口大小,果然报错。


结论:

在Windows8平台上,应用程序初始化显示窗口时,不会产生“大小改变”事件,而在Windows XP平台上则会产生。无论如何,对象引用使用之前一定要判断是否为空!

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754822970a5204685.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信