From db13db86834a98128a96ba77061dd63f39a5260f Mon Sep 17 00:00:00 2001 From: "SND\\ussrhero_cp" <SND\ussrhero_cp@9b283d60-5439-405e-af05-b73fd8c4d996> Date: Mon, 18 May 2015 21:51:52 +0000 Subject: [PATCH] [0.3.x] added : targetProcess.getModule method git-svn-id: https://pykd.svn.codeplex.com/svn@90645 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/pymod.cpp | 8 ++++++-- pykd/pyprocess.h | 12 ++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index f26870e..746af7a 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -562,14 +562,18 @@ BOOST_PYTHON_MODULE( pykd ) "Return number of threads for this process" ) .def("getThread", TargetProcessAdapter::getThreadByIndex, "Return thread by its index" ) - .def("getThreadById", TargetProcessAdapter::getThreadById, + .def("getThreadById", TargetProcessAdapter::getThreadById, "Return thread by its index") .def("currentThread", TargetProcessAdapter::getCurrentThread, "Return current thread" ) .def("getNumberBreakpoints", TargetProcessAdapter::getNumberBreakpoints, "Return number of breakpoints for this process" ) - .def("breakpoint", TargetProcessAdapter::getBreakpointByIndex, python::return_value_policy<python::manage_new_object>(), + .def("getBreakpoint", TargetProcessAdapter::getBreakpointByIndex, python::return_value_policy<python::manage_new_object>(), "Return a breakpoint by it's index" ) + .def("getNumberModules", TargetProcessAdapter::getNumberModules, + "Return number of modules for this process" ) + .def("getModule", TargetProcessAdapter::getModuleByIndex, + "Return a module object by it's index" ) ; python::class_<kdlib::TargetThread, kdlib::TargetThreadPtr, boost::noncopyable>("targetThread", "Class representing process in the target system", python::no_init ) diff --git a/pykd/pyprocess.h b/pykd/pyprocess.h index 783d47f..aad4a57 100644 --- a/pykd/pyprocess.h +++ b/pykd/pyprocess.h @@ -192,6 +192,18 @@ struct TargetProcessAdapter { AutoRestorePyState pystate; return process.isCurrent(); } + + static unsigned long getNumberModules(kdlib::TargetProcess& process) + { + AutoRestorePyState pystate; + return process.getNumberModules(); + } + + static kdlib::ModulePtr getModuleByIndex(kdlib::TargetProcess& process, unsigned long index) + { + AutoRestorePyState pystate; + return process.getModuleByIndex(index); + } };