This is a brief example. The more detailed you are the better we can design a new debugging tool.
I often use D-Feet to see interfaces running on my system and figure out what calls I can use to integrate my apps with the system. For instance I noticed I could listen for network signals from NetworkManager and have my app go into offline mode when there was no connection to the internet.
I also used dbus-monitor to see if my app was getting the signal correctly. It turned out that I forgot to add a listener rule in my app.