每當我試圖打破或設置在調試器跟蹤點,我們的應用程序和Visual Studio完全凍結。分離調試器後,應用程序繼續。
此問題可能與WPF有關。我們已將我們的WinForm應用程序遷移到WPF。從那以後就會出現這個問題但我不能找到導致問題的代碼的特定部分。我已經回滾了數百次提交,但沒有成功。
它也可能與UI線程有關。如果斷點設置在遠離UI邏輯的地方,那麼應用程序不會凍結,或者不會像UI線程中那樣經常凍結。
[編輯:] 我使用的是Windows 7 64位與Visual Studio 2010
[更新:]
當Visual Studio掛起,和我嘗試顯示斷點之前分離,消息「無法從一個或多個進程分離,所有未完成的func-evals尚未完成」。但是我已經禁用了調試選項中的所有func評估。 我認爲我的問題是由func_evaluation導致的,無法完成或運行到超時。
有沒有辦法看到func_evaluation visual studio掛在哪裏?
例子:
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處理
- 推出visual studio with/SafeMode
- NGEN更新
- 禁用「財產評估和其他隱函數調用」在調試選項
- 禁用符號服務器
- 禁用符號加載
- 刪除WPF字體緩存
- 標記幾個UI與「DebuggerDisplay元素( 「無表達一些文本」)」
可能相關的問題:
因爲我們的應用程序使用.NET遠程與另一個進程進行溝通,我的問題我是作爲here類似的東西。我已經將所有的註冊事件都放到了自己的任務中,但沒有成功。
從調試的Visual Studio 調試器輸出:
我附上一個調試器Visual Studio和已觀察到一些例外,(80010005)
,但我不知道wheter它們是相關的我的問題或不:
(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)
謝謝你的任何想法或暗示
Manuel
只是一個小點。如果您使用的是WPF,請使用'System.Windows.Threading.DispatcherTimer'(WPF計時器)而不是一般的C#計時器。不知道如果這能解決你的問題。 – sircodesalot
感謝您的提示。但是在這種情況下,操作不應該在UI線程上執行。此操作應該在單獨的線程上運行,因爲它只更新數據上下文(需要一段時間)並觸發屬性更改的事件。 –
哪個版本的Visual Studio? – OmegaMan