In Eclipse esiste un modo per disabilitare un punto di interruzione fino a quando non viene colpito un altro punto di interruzione?In Eclipse, c'è un modo per disabilitare un punto di interruzione fino a quando non viene colpito per primo un altro punto di interruzione?
risposta
No. Ma è possibile avere punti di interruzione condizionali. Immagino che colpire l'altro punto di interruzione indichi qualche cambiamento di stato.
Quindi, Right click the breakpoint -> Breakpoint properties -> check "conditional"
Se si conosce la condizione in cui verrà colpito l'altro punto di rottura, allora si può aggiungere che la condizione per il nuovo punto di interruzione.
I punti di interruzione condizionali sono una possibilità e puoi anche impostare un conteggio degli hit in modo che il punto di interruzione venga attivato solo dopo essere stato colpito il numero specificato di volte.
Ma no, non c'è modo di fare quello che stai chiedendo.
Un'altra idea è disattivare il punto di interruzione e attivarlo una volta raggiunto l'altro punto di interruzione.
Questo è un grande hack, ma è una soluzione funzionale:
chiamata la 'trigger' posizione punto di interruzione 1 e la posizione di destinazione punto di interruzione 2. Vogliamo Punto di arresto 2 al fuoco se-e-solo-se l'esecuzione ha superato il punto di interruzione 1.
Impostare i punti di interruzione condizionali su ciascuno.
Per il punto di interruzione 1, impostare la condizione come System.setProperty("breaknow", "breaknow") == ""
. Questa condizione non sarà mai vera, ma verrà impostata una proprietà di sistema che possiamo leggere al punto di interruzione 2.
Per il punto di interruzione 2, impostare la condizione come System.clearProperty("breaknow") != null
. Questa condizione si innesca quando viene impostata la proprietà di sistema e la cancella (quindi possiamo ripetere se necessario).
Come ho detto, è un trucco, ma sembra funzionare. Ho inviato una richiesta di miglioramento di Eclipse per implementare il collegamento o concatenare i punti di interruzione come funzionalità nativa (https://bugs.eclipse.org/bugs/show_bug.cgi?id=390590). Sfortunatamente, non ho la larghezza di banda per implementarlo da solo, ma forse un giorno avremo il supporto per una soluzione più pulita.
Un avvertimento (che si applica a tutti i punti di interruzione condizionali, non solo a questo trucco): Dalla mia esperienza, sembra che un'impostazione di un punto di interruzione condizionale impedisca al JIT di compilare il metodo di interesse, eseguendolo invece in modalità interpretata. O forse, consente il primo stage C1 JIT ma impedisce al compilatore C2 di secondo stadio di ottimizzare?
In entrambi i casi, è necessario tenere presente che il metodo di cui si sta eseguendo il debug verrà eseguito molto più lentamente con un punto di interruzione condizionale in atto. Questo di solito non è un problema, ma quando eseguo il debug di loop interni molto stretti, ho trovato che è meglio ricorrere al metodo (sciatto) if (x) { // Do somthing useless and set a breakpoint here}
.
- 1. C'è un modo per emettere un avviso audio quando viene colpito un punto di interruzione in Eclipse?
- 2. Esegui codice quando viene colpito il punto di interruzione?
- 3. punto di interruzione globale.asax non ha colpito
- 4. Abilita punto di interruzione B se il punto di interruzione A è stato colpito
- 5. Firebug - Il punto di interruzione non ha colpito
- 6. Il debugger non ha colpito il punto di interruzione
- 7. gdb: imposta un punto di interruzione per un gestore SIGBUS
- 8. Eclipse numero di riga doppio clic per punto di interruzione
- 9. Intellij IDEA: il punto di interruzione non viene colpito e viene visualizzato in grigio
- 10. Punto di interruzione in servizio non funzionante
- 11. Perché _CrtSetBreakAlloc potrebbe non causare un punto di interruzione?
- 12. Impostare un punto di interruzione in un modello T4
- 13. Imposta un punto di interruzione in XHR in Chrome
- 14. Come impedire al debugger di Visual Studio di focalizzare la finestra quando viene colpito un punto di interruzione?
- 15. Come aggiungere un punto di interruzione a objc_exception_throw?
- 16. Come "impostare un punto di interruzione in malloc_error_break di debug"
- 17. C'è un modo per impostare un punto di interruzione all'inizio di qualsiasi istruzione NSLog?
- 18. Come si aggiunge un punto di interruzione in Xcode?
- 19. Impostazione punto di interruzione a NSKVODeallocateBreak
- 20. Crea un punto di interruzione simbolico a UICollectionViewFlowLayoutBreakForInvalidSizes
- 21. Impostazione di un punto di interruzione in GDB
- 22. È possibile impostare un punto di interruzione nelle funzioni anonime?
- 23. Come aggiungere un punto di interruzione condizionale in Visual C++
- 24. È possibile nominare un punto di interruzione in GDB?
- 25. punto di interruzione condizionale in Visual Studio
- 26. Che cosa significa un punto blu sotto il punto di interruzione di Visual Studio?
- 27. Come impedire all'editor di Visual Studio di scorrere orizzontalmente in modo automatico quando viene raggiunto un punto di interruzione
- 28. Come aggiungere un punto di interruzione condizionale in vb6?
- 29. Come utilizzare il punto di interruzione condizionale in Eclipse?
- 30. L'aggiunta di un punto di interruzione in Eclipse causa l'arresto anomalo di Dalvik
Sì, questo è quello che faccio adesso, ma è un dolore continuare a farlo. – Kyle