Interactive debuggers are established tools used by developers to understand programs and localize faults. They are equally valuable in the context of model-driven development, when working on executable behavioral models. However, development costs of interactive debuggers for Domain-Specific Languages (DSLs) can be significant. In order to mitigate these costs, several reusable DSL-agnostic debugging solutions have been proposed. We argue that the applicability of these solutions is limited by being tied to a fixed set of debugging services, a specific language engineering approach, or a particular user interface. In this paper, we present dpDebugger, a domain-parametric debugger capable of controlling the execution of a program and providing domain-specific debugging operations (such as breakpoints and steps) for heterogeneous DSL runtimes. The debugger relies on a language protocol to communicate with and be configured by heterogeneous DSL runtimes, while also enabling the debugging of DSLs with non-deterministic execution semantics. The proposed debugger can itself be controlled using a reinterpretation of the Debug Adapter Protocol (DAP), for an effortless integration in existing Integrated Development Environments (IDEs) that support it.