We present a scalable architectural approach which aims to simplify embedded software development by supporting key development tasks like debugging, tracing and monitoring. Our approach uses filesystem interfaces to represent various entities in the embedded system hierarchy that are merged and exported to clients using a messaging protocol. Unlike many JTAG based debug solutions, ours is compositional and supports heterogeneous, concurrent debugging.