Спасибо за ваш ответ, Jamesh.
С первыми двумя замечаниями вы скажете, что (как в анонимных, так и в неанонимных Runnables) было бы полезно взглянуть на иерархию вызовов конструктора Runnable - да, я согласен! Обычно это то, что я делаю. Но обычно это означает частое переключение между двумя иерархиями, только одна из которых может отображаться одновременно. Я хотел бы избежать этого, сохранив одну иерархию.
Не существует прямой иерархии вызовов между конструктором Runnable и вызовом run (), поэтому мне кажется, что было бы неуместно расширять иерархию вызовов путем добавления конструктора в качестве «вызывающего» метода run (). Однако вызовы start () или добавления потока в Executor (или, возможно, вызовы run () внутри исполнителя) могут быть уместны для отображения в иерархии вызовов.
Мне действительно было интересно, есть ли существующее решение, которое я не смог найти. Думаю, мне просто нужно попробовать сам плагин, если я этого захочу.
Я опробовал плагин для разработчиков. Это полезно, но не для этой конкретной проблемы!
Я тоже попробовал nWire. В нем много функций, которые я не успел полностью изучить, но я не смог найти способ сделать то, что я ищу здесь.