How do I debug if a sequence does not start executing on a sequencer and the start() method does not return?

Are there any debug techniques or tips on how to debug into internals of UVM sequencer ?

I am facing some issues where I am starting a sequence multiple times on a sequencer something like below

do begin
sequence = create();
sequence.start(sequencer);
end while (some condition)

I see the start() not returning and test hangs. How do I know whats happening inside?

Instead of using debug messages in uvm_sequencer, you’d like to try using debug displays in your sequence/driver. As start method is not returning, your sequence is waiting(if you have used delays in sequence) or the driver component is not calling

seq_item_port.item_done();

In reply to rmozhiku:

All modern simulators support source code debugging and tracing. I highly recommend that you learn how to use all the features of your simulator as they can be very valuable tools.