winIDEA SDK
Loading...
Searching...
No Matches
Debug Facade Overview

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()