首页 新闻 会员 周边 捐助

高分求助:VS2012调试时,显示:由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求

0
悬赏园豆:50 [待解决问题]

VS2012调试时,展开List时,显示:“由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。”,无法查看List项目,并跳出

VS版本    :Microsoft Visual Studio 2012 旗舰版
已经尝试  :类似“启用属性求值...”
截图      :

图一:附加到进程

 

图二:查看List

 

图三:异常,跳出调试

枢木的主页 枢木 | 初学一级 | 园豆:103
提问于:2013-11-23 10:52
< >
分享
所有回答(1)
0

参考VS中单步调试时出现“由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。”的问题

这是因为调试时会自动对Local/Watch等窗口里面(或鼠标停留所在)的变量求值,为了防止用户写的程序错误(比如死循环),系统有一个超时限制, 如果某个属性的get中做了很复杂的操作(而不是简单地返回一个私有变量的话),就有可能超过这个时间限制。

解决办法,网上是这么说的:  

1,关掉自动变量,改用监视变量;2,工具->选项->调试内把自动变量求值关闭。 

我试验出来一个更简单的办法:

调试时把VS的“局部变量” 窗口给隐藏起来,再重新调试,这时“局部变量”窗口就不会显示了,此时再单步断点的话,就不会出现标题中所述的错误了。

dudu | 园豆:30948 (高人七级) | 2013-11-23 11:51

嗯,但存在一个这样的问题:
我将本地连接禁用,可以正常显示List项目的,我想,这个同网络有关,如果这样,我是不是可以限制部分进程使用网络,注:我目前是不用使用远程调试功能的

支持(0) 反对(0) 枢木 | 园豆:103 (初学一级) | 2013-11-23 15:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册