DescriptionSoftware debugging is a common use case for virtual platforms. However, the precise meaning of “debug” can vary significantly depending on the user or stakeholder involved. We present our experience in supporting actual target software debug with virtual platforms, as well as in validating debug tools using virtual platforms. Both these tasks can be accomplished in a variety of ways, with different trade-offs between cost and capability. We cover techniques such as running software agents and entire debuggers on the VP itself, debug using agents built into models in the VP, full-system debug using the VP framework itself as the debugger, as well as modeling the debug functionality of the hardware system in order to debug software and/or validate the debug tools themselves. The resulting conceptual map helps clarify the right approach for a particular use case or set of use cases related to “debug”. So, next time someone asks you support debug, you know the questions to ask to build the right solution or set of solutions.