Supponiamo che ho una classeimpostare un (metodo) breakpoint per un particolare oggetto (e non tutte le istanze di quel tipo) in java
public class Foo
{
public void doThing() { ...}
}
Dire che ho un sacco di casi di Foo
, ma io sono solo particolarmente interessato a uno di loro.
Come dovrei "taggare" quell'istanza e impostare un "punto di interruzione condizionale" in doThings
che si fermerebbe SOLO per l'istanza contrassegnata? Esiste un modo "builtint", in particolare dal debugger di Eclipse, per fare ciò?
Attualmente, devo creare manualmente un flag booleano nella classe impostandolo su false per impostazione predefinita e creare un punto di interruzione condizionale basato su quello in doThings
. Quindi, quando incontro l'oggetto interessato, imposto il flag su true
eseguendo il codice setter nella finestra Display
.
Ma chiaramente, ciò richiede la modifica del codice e l'aggiunta di alcune piastre, il che non è sempre possibile o una buona cosa da fare.
io non sono sicuro che è quello che stanno chiedendo, in ogni caso, la funzione è stato disponibile per molto tempo. Avvia il debug e quando il punto di interruzione si arresta sull'istanza dell'oggetto desiderata, fai clic su "questo" nella vista delle variabili di debug, quindi su "punti di interruzione dell'istanza"; ottieni l'elenco delle istanze dal vivo e puoi scegliere in che modo limitare il punto di interruzione –
@guido Sembra proprio quello che mi sta chiedendo. Dovresti aggiungerlo come risposta. – erickson
@erickson non sono sicuro perché questo funziona solo in runtime dopo aver avviato le sessioni di debug e l'istanza è già disponibile, sembra che voglia decidere quale istanza è prima, al momento della compilazione –