Since the debugDumpApp() call is invoked when the button changes
from being pressed to being released, it coincides with the
TextButton object calling setState()
and thus marking itself dirty. That is why, when you look at the dump you
should see that specific object marked as “dirty”. You can also see what
gesture listeners have been registered; in this case, a single
GestureDetector is listed, and it is listening only to a “tap” gesture
(“tap” is the output of a TapGestureDetector’s toStringShort
function).

If you write your own widgets, you can add information by overriding
debugFillProperties(). Add DiagnosticsProperty
objects to the method’s argument, and call the superclass method.
This function is what the toString method uses to fill in the
widget’s description.

Render tree