Issues with reactive variables and program flow

I have a reactive function (is that the correct term?), an output$xx = renderPlot(...) which is being invoked shortly after program startup before all its arguments are ready. This raises at least(!) three questions in my mind:

  1. How can I debug this flow? Specifically, how can I most easily determine /which/ of its dependencies is causing it to be run?

  2. What is best practice to prevent this type of race condition?

  3. Whilst debugging this I've noticed that when it attempts to read the values of a reactivevariable() which hasn't yet been assigned, the function is just abandoned at this point without so much as an error message. Is this normal and expected?