Il problema:Visual Studio 2010 si blocca sul punto traccia
Ogni volta che provo a rompere o impostare un Trace-point nel debugger, la nostra applicazione e Visual Studio si blocca completamente. Dopo aver scollegato il debugger, l'applicazione continua.
Questo problema è probabilmente correlato a WPF. Abbiamo migrato la nostra applicazione WinForm a WPF. Da allora questo problema si verifica. Ma non sono in grado di trovare la parte specifica del codice che causa il problema. Ho già recuperato centinaia di commit ma senza successo.
Potrebbe anche essere correlato al thread dell'interfaccia utente. Se il punto di interruzione è impostato da qualche parte lontano dalla logica dell'interfaccia utente, l'applicazione non si bloccherà o non si bloccherà tutte le volte che si trova nel thread UI.
[Edit:] Io uso Windows 7. 64bit con Visual Studio 2010
[Aggiornamento:]
Quando Visual Studio si blocca, e cerco di staccare prima che venga visualizzato il punto di interruzione , il messaggio "Impossibile disconnettere da uno o più processi." Tutte le funzioni funzionali non eseguite non sono state completate ". Ma ho disabilitato tutte le funzioni di valutazione nelle opzioni di debug. Penso che il mio problema sia causato da una func_evaluation che non può essere completata o che viene eseguita in un timeout.
C'è un modo per vedere su quale func_evaluation è sospeso lo studio visivo?
Esempio:
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
}
Quello che ho già provato: (senza successo)
- abilitare/disabilitare il processo host
- cercato di mettere a punto x86 e x64 processi
- lanciato studio visivo con/SafeMode
- NGEN aggiornamento
- disabile "valutazione di proprietà e l'altra funzione implicita chiama" nelle opzioni di debug
- simbolo server disabili
- simbolo disabilitato carico
- cancellato cache dei font WPF
- segnalati diversi elementi dell'interfaccia utente con 'DebuggerDisplay ("un testo privo di espressione")'
problema Probabilmente correlate:
Perché la nostra applicazione utilizza .NET Remoting per comunicare con un altro processo, il mio problema mio essere qualcosa di simile a here. Ho inserito tutte le registrazioni in eventi remoti in una propria attività, ma senza successo.
Debugger uscita dal debug Visual Studio:
Ho allegato un debugger per Visual Studio e ho osservato alcune eccezioni, (80.010.005)
ma non ho idea di wheter sono rilevanti per il mio problema o no:
(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)
Grazie per tutte le idee o suggerimenti
Manuel
Solo un piccolo punto. Se utilizzi WPF, usa "System.Windows.Threading.DispatcherTimer' (il timer WPF) non il timer generale C#. Non so se questo risolverà il problema però. – sircodesalot
Grazie per il suggerimento. Ma in questo caso l'operazione non dovrebbe essere eseguita sul thread dell'interfaccia utente. Questa operazione dovrebbe essere eseguita su un thread separato, poiché aggiorna solo il contesto dei dati (richiede un po 'di tempo) e attiva l'evento modificato della proprietà. –
Quale versione di Visual Studio? – OmegaMan