如何自动获得当前方法中各个局部变量的值
我的想法是,如果在一个方法中发生了异常,就在日志中自动记录当前方法的所有局部变量的值,就像.net开发环境中的局部变量窗口一样,这能实现吗?
谢谢!
问题点数:30、回复次数:16Top
1 楼ruanyuping()回复于 2003-11-02 18:05:02 得分 0
不懂,帮你UPTop
2 楼rgbcn(奔向.net)回复于 2003-11-02 18:21:53 得分 0
在
try
{}
catch
{
把值记下来
}
Top
3 楼daidaoke2001(daidaoke2001)回复于 2003-11-02 18:27:34 得分 0
兄弟,别搞笑,我当然不是这个意思,
我的意思是说自动的获得,也就是对于不同的方法体中,均可以适用的代码Top
4 楼daidaoke2001(daidaoke2001)回复于 2003-11-02 18:46:57 得分 0
UP一个,如果有人觉得不可能实现的,也请说说不能实现的道理Top
5 楼dldl(做饭我一直用雕牌)回复于 2003-11-02 20:28:30 得分 0
那就在try{}
catch(){在这里调用写好的函数就行了
}
每个catch()里面都掉用相同的函数。
我也不知道你是不是这个意思?Top
6 楼daidaoke2001(daidaoke2001)回复于 2003-11-03 10:11:19 得分 0
每个方法体里的变量是不一样的,如方法体A里的局部变量有i1,j1;方法体B里的局部变量是i2,j2,如果方法体A里发生了异常,我应该在日志中记录局部变量i1,j1的值,如果方法体B里发生了异常,我应该在日志中记录局部变量i2,j2的值,如果这样的话,我就要在每个方法体中都写死记录局部变量的程序段,我现在的想法是能不能让这个过程自动执行,如下面所示:
foreach(局部变量 in 当前方法体的局部变量数组)
{
在日志中记录这个局部变量
}
也就是说,能方便的遍历一个方法体中的所有局部变量的方法
Top
7 楼daidaoke2001(daidaoke2001)回复于 2003-11-03 11:59:27 得分 0
再upTop
8 楼daidaoke2001(daidaoke2001)回复于 2003-11-04 09:35:41 得分 0
我又upTop
9 楼yongwc(疯狂客)回复于 2003-11-04 23:44:39 得分 0
我想如果一个方法发生了异常,程序自动帮我去市场买菜,回来做好给我吃,不知道可不可以实现,不能实现也请说明理由!!!!!Top
10 楼daidaoke2001(daidaoke2001)回复于 2003-11-07 10:59:15 得分 0
太极端了吧,这个比喻偏激了点,既然能够在for循环里遍历一个窗体上的各个控件,为什么就不能遍历一个方法中的所有局部变量?
我不喜欢你的那些叹号
大家一起讨论问题而已Top
11 楼HNU(嶽麓書院,惟楚有材,於我為盛!)回复于 2003-11-07 11:10:42 得分 0
关注,问题有创意Top
12 楼brightheroes(在地狱中仰望天堂)回复于 2003-11-07 11:17:49 得分 0
个人观点~~~,参考用~~~~
那么多变量,可能就一个有益常,你看得出来么?
没有必要~
没有意义~
设个断点,足够了
Top
13 楼flyincs(▄︻┳═一O一═┳︻▄ )回复于 2003-11-07 11:19:42 得分 0
顶一下Top
14 楼Abac(~~)回复于 2003-11-07 11:52:37 得分 15
如果堆栈跟踪信息里面有这些变量的话是可以的,用微软的EMAB可以在每个方法里面使用,但要是堆栈跟踪里面都没有这些变量,我就不知道怎么办了。
参考
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/emab-rm.aspTop
15 楼coldbloodnet(潇凌)回复于 2003-11-07 13:35:33 得分 15
可以参考自带的Duwamish7,里面有实现的方法,可以记录到文件中,也可以记录到系统日志文件中,包括错误发生的类别,在什么类中发生的,在第几行等等!Top
16 楼daidaoke2001(daidaoke2001)回复于 2003-12-09 10:05:18 得分 0
谢谢大家
Top




