现代软件工程系列 学生的精彩文章 (2) 到底是谁的 bug?
http://teamkingofcsharp.spaces.live.com/blog/cns!59FC2D3DD66822AA!406.entry
又见M$的bug
发信人: Dora9 (Dora9), 信区: NewSoftware
标 题: 关于iHunter 2.0在某些机器上的崩溃问题
发信站: 水木社区 (Tue Jan 6 00:23:05 2009), 站内
许多用户给我们反映一点击帖子想看详细内容程序就崩溃了,我们研究了一下,发现是把WinForms控件
放到MFC的CWinFormsView控件上的时候,mfc的代码出错了。我们在msdn上下载了"MFC and WinForms
Integration"的示例代码,同样也是崩溃了。检查发现是缺少了一个7K的dll(vs在制作安装包的时候
,居然不把这个dll打进去……)
只要把附件里的这个dll添加到ihunter所在的目录,崩溃的问题应该就能解决
【 在 Dora9 (Dora9) 的大作中提到: 】
: iHunter--BBS·Email·网络学堂·RSS一体机问世!
: 2009年1月5日,一款整合了BBS、Email、网络学堂、RSS功能的强大软件iHunter 2.0发布了!
: 在iHunter中,您可以:
: ...................
--
※ 修改:·Dora9 于 Jan 6 00:24:43 2009 修改本文·[FROM: 59.66.130.*]
※ 来源:·水木社区 newsmth.net·[FROM: 59.66.130.*]
附件: mfcmifc80.dll (7168 Bytes) 链接:
http://att.newsmth.net/att.php?s.99.1369042.890.dll
全文链接:http://www.newsmth.net/bbscon.php?bid=99&id=1369042
12:56 AM | Blog it
Comments (21)
Sorry, we can't get comments right now. Please try again later.
View more comments
Loading...
King of C# - Jan. 6, 2009
re: 这个确实是我们的失误.
由于所有tester的机器上都安装了Visual Studio,因此这个文件被安装到了系统中,没有发现这个问题。
Xin Miao - Jan. 6, 2009
Orz。。。
你们怎么查出来的。。。
xin 邹欣 - Jan. 6, 2009 - Delete
测试计划中要考虑在至少下列三种环境中测试安装:
1. “干净”的机器,只有OS。2. 典型 的用户机器 3. 装了很多软件,用了很长时间的机器。
而不仅仅是“开发人员”的机器。
Ke Liu - Jan. 6, 2009
确实是我们没有考虑到的地方,但是主要还是由于时间紧,5号凌晨的时候,在fix完一些已知的bug之后,我们就得制作release安装包并发布了,我们那时手头上没有“干净”的机器,所以没有时间去测试这个……
xin 邹欣 - Jan. 6, 2009 - Delete
很多开发人员都认为“安装”是最没意思的工作,所以都把它留到最后,这样会出现各种各样的问题,大家在安装大型软件的时候一定有体会。 另外,“安装”都不重视,“反安装”就更不用提了,有些软件安装之后,都不能卸载。
事实上,软件的安装是用户对软件的第一次接触,第一印象很重要。
King of C# - Jan. 6, 2009
Re: 安装和部署的重要性我们绝对没有忽视。我们测试了中文版和英文版的Xp, Vista, Server 2008系统,都没有出现问题 .... 至于干净的机器,嗯,确实是考虑不周,而且限于条件,没有测试。
Ke Liu - Jan. 6, 2009
"安装"和"反安装"我们早在alpha 1的时候就做过测试,而且即使用户不小心把程序所在目录下的某些依赖库删除了,启动程序的时候还会自动运行安装程序把依赖库加回去。我们也在不同的系统下测试,只是没有想到没有visual studio情况还会不同(因为我们会检查.Net Fx 2.0,没有的话会提示用户安装;也会附带上sqlcompact的dll;只是实在没有想到还会有一个mfcmifc80.dll)。当然,确实是条件所限,我们不是商业公司的开发小组,没有那么多机器可供测试
xin 邹欣 - Jan. 6, 2009 - Delete
我认为你们小组做了不少测试的工作,网民的反映也不错。 如果有测试计划考虑到“用户的机器”,就更好了。
Yuan CHEN - Jan. 6, 2009
可以试试MFC静态链接编译模式,应该就不用带vc运行库了...
btw:congratulations to win the top score!
King of C# - Jan. 6, 2009
re CHENYuan: 我们也想啊.... 不过这样会导致:。。。
Error: /clr is not compatible to /MT
意思是,使用了CLR的C++程序不能连接到静态库 -_-
Lonnie Liu - Jan. 7, 2009
哈哈,最先报告这个的还是我呢。不过他们组pm已经宣称决定要忽略我的所有反馈和意见了。
xin 邹欣 - Jan. 7, 2009 - Delete
Lonnie - 所以用户是上帝,不能忽略用户的意见。 :)
Ke Liu - Jan. 7, 2009
这个……"他们组pm已经宣称决定要忽略我的所有反馈和意见了",情况是这样的:
当时我催促高翔fix一个bug,lonnie非要和高翔死磕一个无聊的问题……怎么样判断两个帖子是不是同主题,lonnie一再说只要title里第一个:之后的文本是一样的就是同一主题。然后高翔就放下手头的debug和lonnie无聊的争论开来……我看不下去了,本着"交流的成本"的原则,让高翔先不要管lonnie,把bug fix了再说……然后高翔就决定ignore lonnie的意见,至于这个"所有反馈和意见"是怎么出来的,我就不知道了……
Ke Liu - Jan. 7, 2009
另外,lonnie报告那个崩溃问题的时候,我们也是非常重视的,在lonnie的机器上调试了整整一个晚上才发现问题所在……
顺便,也要感谢一下lonnie,要不是他在软工之后把vs卸了,我们也很难找到一台机器来重现这个问题;同时,也要谢谢他愿意把机器借给我们折腾调试
Yuan CHEN - Jan. 7, 2009
可以做个类似windows或office崩溃信息收集的feature
写个大catch一旦捕获到unhandle exception就弹个对话框,收集当前系统信息和crash dump发送给某个服务器
当然,就会有用户很反感:x,这不是在收集个人信息,侵犯隐私嘛...
Lonnie Liu - Jan. 8, 2009
他然后就再也不理我了啊,说:你要非说那是bug,我就标as designed……我后来还说了删掉消息之后内容还显示的问题,他也直接忽略了,似乎还很生气的回了一句什么,我笑笑就睡觉了。
后来我在想我的逻辑是怎样的,其实也很简单,就是左边有选中,软件右边就会自动显示了,左边没有选中(被删掉失去选中了),我就觉得右边不应该显示东西,应该清掉。但是你们的解释是觉得你们的左边选中相当于双击打开,但是其实也并没有打开一大堆,只是在一个里面换。
没事没事,笑笑,我就是个乱搅和的,你们要想感谢可考虑分我点分,哈哈。
Lonnie Liu - Jan. 8, 2009
我有时也有一样的毛病的,别人说我哪儿不好,我第一反应就是defend,我花了那么多时间精力来设计开发,花了那么多心思来思考求证,怎么会错?其实完全可以都自己先archive起来,真诚感谢一下,然后回去慢慢按照priority, severity研究别人的report。
Xin Miao - Jan. 8, 2009
RE 老疼:
你说的那个删掉消息后右边仍然会显示的问题,我本来也是想当bug报到codeplex上的。可是后来觉得两种做法其实都无可厚非,无非是用户的习惯不一样可能会导致不爽而已。就像使用记事本一样,打开一个文本后再删除,记事本不会有任何反应,你可以继续操作,但是像 notepad++这样的软件就会提示你文件被删除。
至于你说的"就是左边有选中,软件右边就会自动显示了,左边没有选中(被删掉失去选中了),我就觉得右边不应该显示"
我猜你肯定不知道我们右边的视图是支持多标签浏览的,你用鼠标滚轮点击message就行了,这是开发人员内部测试的功能,没打算发布:)
Xin Miao - Jan. 8, 2009
RE Yuan CHEN:
说到这个,我很好奇M$每天能收到多少这样的数据,有专人去筛选么?
teacher software - Jan. 8, 2009
MS receives tons (millions) of feedback, lots of tools are developed by various teams to do "data mining", finding information (common crash, common call stack, etc).
also, data shows 1% of bugs contribute to 50% of crashes in all software.