小论QA职责
作者:网络转载 发布时间:[ 2013/4/10 13:11:54 ] 推荐标签:
搞来搞去,离夜深越来越近,我们不犯困,却有点更加迷惑了,不make sense呀!
那笨人有笨招,细化问题吧!
实验一:
我把COM组件的工程单独领出来,修改工程的属性,启用编译后自动注册开关,编译成功,看注册表应该注册成功;在创建一个新的工程来调用COM组件:
1: Type comType = Type.GetTypeFromProgID("COM ProgID");
2: object comObj = System.Activator.CreateInstance(comType);
3: Type[] t = comType.GetInterfaces();
4:
5: object x=comType.InvokeMember("MethodName", BindingFlags.InvokeMethod, null, comObj, new object[3] { null,null,null});
6: MethodInfo[] method = comType.GetMethods();
7: if (method != null)
8: {
9:
10: }
执行程序,在第2出错,和之前的安装程序的错误日制一致。(COM异常不说了,不影响理解问题)
这个实验只能在此证明问题还没有解决,不在那里,在这里
紧接着:
实验二:
我把COM组件中的具体实现代码全部注释掉,如果函数需要返回值,仅仅返回一个fake的值,这样我的COM近似等于一个空壳,不依赖于任何第三方,编译,注册成功,在用上面的代码创建COM对象的实例。
实验结果:成功!
这是一大进步,通过实验二可以大胆确定问题出在COM对象的实现代码里,那究竟是哪一块代码呢,很明显,应该是类的构造函数里,这意味着COM对象在构造的时候抛出未捕获异常,导致终显示给我们的那段错误日志信息!
这时候,再去review构造函数,发现构造函数是有try catch的,只不过。。只不过。。构造函数的第一行没有包含在try catch block里,这一行只不过是打印了一条调试日志而已啊,真不敢相信这是元凶,这行代码like:
utilDebug.Log(.....)
我相信你不是无辜的。
现在,再来看看这个utilDebug到底是啥玩意:
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11