2009-06-25 12 views
11

Sto scrivendo una classe in C++ che non riesco a eseguire il debug utilizzando F5. Il codice verrà eseguito da un altro "servizio" che lo invocherà. In passato ho usato __debugbreak() e quando ho ricevuto una finestra mi diceva che veniva lanciata un'eccezione selezionata per il debug.DebugBreak non si rompe

Recentemente ho aggiornato a Windows 7 e ha funzionato per un po '.

Oggi, quando ho provato a eseguire il debug di un pezzo del mio codice invece di mostrare la finestra di dialogo normale che mi informa che VSTestHost ha smesso di funzionare e mi consente di eseguire il debug dell'applicazione, ho ottenuto una finestra di dialogo diversa che suggerisce di inviare i dati a microsoft per analisi.

Qualcuno sa come posso risolvere questo problema, quindi sarò in grado di eseguire il debug del mio codice?

risposta

21

Infine ho trovato la causa del problema. E 'una causa Vista/Win7:

  1. Aprire l'azione di controllo centrale
  2. Goto Action Center Opzioni
  3. Goto Segnalazione problemi Impostazioni
  4. scegliere "Ogni volta che si verifica un problema, mi chiedono prima di controllare per soluzione "

Anche se questo è più di IT soluzione/domanda Sono stato afflitto da questo problema tutto il giorno e volevo condividere la soluzione con altri sviluppatori che incontrano questo pro blema.

+0

Ha definitivamente smesso di generare rapporti su Win 8, ma non offre nemmeno l'avvio del debugger. Dice solo Errore 1067: il processo è terminato in modo imprevisto. – mlt

0

Si potrebbe provare il debug> allegare al processo.

+1

A volte questo può essere un problema perché quando si collega al processo il codice ha già superato quel punto. In quei casi trovo utile mettere uno Sleep (10000) proprio prima del punto che voglio rompere. Mi dà il tempo sufficiente per collegarmi al processo. – Ferruccio

+0

Non sto cercando un altro modo per eseguire il debug - Voglio aggiustare il corrente perché sto eseguendo il debug del mio codice –

1

In tal caso ...

http://community.codesmithtools.com/blogs/blake/archive/2009/06/03/tips-amp-tricks-debugging-codesmith-on-microsoft-windows-7.aspx

Ecco la rapida panoramica di ciò che è necessario to-do per attivare il debug su un Microsoft Windows 7 macchina:

Aggiornare il Just-In -Time impostazione debugger DbgJITDebugLaunchSetting. L'impostazione si trova nel registro in [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework].
impostare il valore della DbgJITDebugLaunchSetting a 2. Se si utilizza un sistema operativo a 64 bit è necessario anche impostare la stessa chiave (DbgJITDebugLaunchSetting) in questa cartella [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework] per 2. Se riscontri eventuali problemi prova a eseguire CodeSmith Studio e Visual Studio come amministratore. Ora quando CodeSmith immette un punto di interruzione, verrà visualizzato qualcosa del tipo:

+0

Buona ricerca ma sono riuscito a risolvere il problema senza cambiare il valore delle chiavi a 2 (di default è il suo 16) –

Problemi correlati