2014-05-06 12 views
8

È possibile impostare un punto di interruzione per il blocco di codice di javascript come nella seguente schermata. Come possiamo usarli? VS ignora sempre.Visual Studio JavaScript BreakPoint non viene colpito, perché?

enter image description here

+1

usare i tuoi strumenti di sviluppo del browser e impostare il punto di interruzione in là. – pennstatephil

+2

Questo è quello che ho fatto. Mi sto solo chiedendo se mi manchi di prezioso qui. – Jude

+3

http://msdn.microsoft.com/en-us/library/7seh8d72.aspx – pennstatephil

risposta

9

Se Internet Explorer è impostato come browser quando il debug, Visual Studio è, in teoria, in grado di fermarsi in punti di interruzione fissati a script lato client. Per utilizzare la funzione, è necessario assicurarsi che "Disabilita debugging degli script" sia selezionato nella scheda Opzioni Internet di IE, Avanzate.

Tuttavia, ho trovato che il debugging degli script VS è un po 'instabile; il punto di interruzione non viene sempre raggiunto, specialmente con VS2010 o versioni precedenti. La mia esperienza personale è che funziona meglio in VS2012 o versioni successive.

Detto questo, se si utilizza VS come debugger di script sul lato client e si scopre che i punti di interruzione lato client non vengono colpiti, è meglio inserire un "debugger"; linea prima della linea che si desidera interrompere per assicurarsi che venga rilevata dal debugger degli script VS.

pennstatephil postato un link sopra che fornisce davvero più informazioni sul tema: http://msdn.microsoft.com/en-us/library/7seh8d72.aspx

Edit: io non sono in grado di aggiungere commenti, ma in risposta alle SB9 di commentare circa il motivo per cui si potrebbe usare IE, trovo il debug in Visual Studio è molto più conveniente quando si studia il comportamento dello script prima che si verifichino i postback e che i comportamenti sul lato server si verifichino immediatamente dopo i postback. Inoltre, a volte la combinazione VS/IE rileva errori che Chrome e Firefox/Firebug segnalano con un messaggio di errore senza senso.

+1

Trovo che anche in VS 2013 sia un po 'instabile; non si ferma sempre sul punto di interruzione. Altrimenti, il riavvio della sessione di debug di solito funziona. Tuttavia, il mio punto di interruzione era sull'evento jQuery .ready e forse era solo un problema di temporizzazione che impediva a VS di impostare il punto di interruzione prima dell'esecuzione del codice. –

+0

@HolisticDeveloper, sì, al giorno d'oggi inserisco semplicemente "debugger"; direttamente nel codice. I punti di interruzione JavaScript più o meno hanno smesso di essere efficaci di recente ... un recente pacchetto di aggiornamento, forse? Non sono sicuro ... – thesentiment

2

Un altro scenario per l'incapacità del debugger di fermarsi al punto di interruzione è se si utilizza il raggruppamento. Per eseguire il debug dei file JavaScript, è necessario rimuovere il raggruppamento.

Spero che questo aiuti qualcuno.

+0

ho appena perso circa 30 minuti e questa era la ragione. – StackTrace

1

Ci sono possibilità apparentemente infinite sul perché questo accada. Ho appena risolto questo problema dopo ore di ricerche, quindi forse la mia soluzione potrebbe aiutare qualcuno.

Il mio problema particolare è che i miei punti di interruzione sono stati disabilitati immediatamente dopo che il mio collega ha abilitato il raggruppamento (see description here). Ho dovuto andare in nostro file BundleConfig.cs e commentare la riga che diceva:

BundleTable.EnableOptimizations = true; 

Dopo ho fatto, sono stati colpiti. Vorresti aggiungere nuovamente quella linea per le distribuzioni.

0

Sì, è possibile mettere il break-point a pagina lato client in Visual Studio

In primo luogo mettere il debugger in codice Java-script e eseguire la pagina sul browser

debugger

Add debugger in java-script code

Dopo aver aperto la pagina nel browser e visualizzato l'elemento di ispezione, viene visualizzata la seguente vista

Client side view of break point in java-script

Problemi correlati