winIDEA SDK
Debug Facade

The controller classes group methods by functionality, but we often use methods of several classes in the simplest scripts.

To avoid instantiation of many classes in such cases, API also provides the class isys::CDebugFacade. This class groups all classes, which are related to typical debugger functionality, like program execution, breakpoints and data access. To make isystem.connect usage simpler, you can instantiate and use isys::CDebugFacade instead of the following classes:

Example:

isys::CDebugFacade debug(&connection);
debug.download();                           // calls CLoaderController::download()
debug.setBP("main");                        // calls CBreakpointController::setBP()
debug.run();                                // calls CExecutionController::run()
debug.waitUntilStopped(5000, 500);          // calls CExecutionController::waitUntilStopped()
isys::CMemAddress myVarAddr = debug.getVariableAddress("myVariable"); // calls CAddressController::getVariableAddress()