每当我尝试在调试器中打破或设置跟踪点时,我们的应用程序和可视化工作室完全冻结.卸载调试器后,应用程序继续.
这个问题可能与WPF有关.我们将WinForm应用程序迁移到WPF.从那时起,就出现了这个问题.但是我无法找到导致问题的代码的具体部分.我已经回滚了数百项提交但没有成功.
它也可能与UI线程有关.如果断点设置在远离UI逻辑的某处,应用程序将不会冻结,也不会像UI线程中的任何地方一样冻结.
[编辑:]
我使用Windows 7. 64位与Visual Studio 2010
[更新:]
当Visual studio挂起时,我尝试在断点显示之前分离,消息“无法从一个或多个进程分离,所有未完成的功能尚未完成”.但是我已经在调试选项中禁用了所有的func评估.
我认为我的问题是由一个无法完成或超时的func_evaluation引起的.
有没有办法看到哪个func_evaluation可视工作室挂在哪里?
例:
class SomeUiViewPresenterExample { private Timer m_Timer; public void Init() { m_Timer = new Timer(); m_Timer.Elapsed += ElapsedFoo(); m_Timer.AutoReset = false; m_Timer.Interval = 200; } private void ElapsedFoo(object sender,ElapsedEventArgs elapsedEventArgs) { // there is no code inside this method // On the next line a trace point with "---> ElapsedFoo called" will freeze the debugger }
我已经尝试过:(没有成功)
>启用/禁用主机进程
>尝试调试x86和x64进程
> / SafeMode推出视觉工作室
> NGEN更新
>禁用“属性评估和其他隐式函数调用”在调试选项中
>禁用符号服务器
>禁用符号加载
>删除WPF字体缓存
>使用’DebuggerDisplay(“一些没有表达式的文本”)标记了几个UI元素”’
可能相关问题:
因为我们的应用程序使用.NET Remoting与另一个进程进行通信,所以我的问题与here类似.我已将所有注册事项放在自己的任务中的远程事件中,但没有成功.
调试器从调试视觉工作室输出:
我已将调试器附加到visual studio并观察到一些例外(80010005)
但我不知道他们是否与我的问题有关:
(18d8.1708): C++ EH exception - code e06d7363 (first chance) (18d8.1708): C++ EH exception - code e06d7363 (first chance) ..... // snip (18d8.18dc): **Unknown exception - code 80010005 (first chance) ..... // 20 seconds freeze until breakpoint hit in IDE (18d8.18dc): Unknown exception - code 80010005 (first chance) (18d8.18dc): C++ EH exception - code e06d7363 (first chance) ModLoad: 365f0000 36665000 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\mcee.dll // after continue execution debugger and debugged process freezes forever (18d8.18dc): Unknown exception - code 80010005 (first chance) ModLoad: 00000000`02b90000 00000000`02c1c000 C:\Windows\SysWOW64\UIAutomationCore.dll (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance) (18d8.1a8c): CLR exception - code e0434352 (first chance)
感谢您的任何想法或提示
曼努埃尔
解决方法
更多信息:
DispatcherTimer vs a regular Timer in WPF app for a task scheduler