Controller classes group methods by functionality, but simple scripts often use methods from several classes. To avoid instantiating many classes, the API provides isys::CDebugFacade. This class groups all classes related to typical debugger functionality: program execution, breakpoints, and data access. To simplify isystem.connect usage, instantiate and use isys::CDebugFacade instead of these 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()