[0.3.x] added : targetSystem.getId method

git-svn-id: https://pykd.svn.codeplex.com/svn@90240 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\ussrhero_cp 2015-04-05 22:17:31 +00:00 committed by Mikhail I. Izmestev
parent 58e04d9b39
commit 6c05d847de
2 changed files with 72 additions and 0 deletions

View File

@ -516,8 +516,12 @@ BOOST_PYTHON_MODULE( pykd )
"Return current target system").staticmethod("getCurrent")
.def("getSystem", TargetSystemAdapter::getSystem,
"Return target system by index").staticmethod("getSystem")
.def("getSystemById", TargetSystemAdapter::getSystemById,
"Return target system by id").staticmethod("getSystemById")
.add_property("desc", TargetSystemAdapter::getDescription,
"Retunr target system description")
.add_property("id", TargetSystemAdapter::getId,
"Return id of the target system" )
.def("isDumpAnalyzing", TargetSystemAdapter::isDumpAnalyzing,
"Check if it is a dump analyzing ( not living debuggee )")
.def("isKernelDebugging", TargetSystemAdapter::isKernelDebugging,
@ -541,8 +545,12 @@ BOOST_PYTHON_MODULE( pykd )
"Return a current process" ).staticmethod("getCurrent")
.def("getProcess", TargetProcessAdapter::getProcess,
"Return process by index").staticmethod("getProcess")
.def("getProcessById", TargetProcessAdapter::getProcessById,
"Return process by id").staticmethod("getProcessById")
.add_property("systemID", TargetProcessAdapter::getSystemId,
"Retrun system process ID ( PID )" )
.add_property("id", TargetProcessAdapter::getId,
"Return process id")
.add_property("peb", TargetProcessAdapter::getPebOffset,
"Return PEB address" )
.add_property("exeName", TargetProcessAdapter::getExeName,
@ -562,6 +570,16 @@ BOOST_PYTHON_MODULE( pykd )
;
python::class_<kdlib::TargetThread, kdlib::TargetThreadPtr, boost::noncopyable>("targetThread", "Class representing process in the target system", python::no_init )
.def("getNumber", TargetThreadAdapter::getNumberThreads,
"Return number of threads").staticmethod("getNumber")
.def("getCurrent", TargetThreadAdapter::getCurrent,
"Return a current thread").staticmethod("getCurrent")
.def("getThread", TargetThreadAdapter::getThread,
"Return thread by index").staticmethod("getThread")
.def("getThreadById", TargetThreadAdapter::getThreadById,
"Return process by id").staticmethod("getThreadById")
.add_property("id", TargetThreadAdapter::getId,
"Return thread id")
.add_property("systemID", TargetThreadAdapter::getSystemId,
"Retrun system thread ID ( TID )" )
.add_property("teb", TargetThreadAdapter::getTebOffset,

View File

@ -27,12 +27,24 @@ struct TargetSystemAdapter {
return kdlib::TargetSystem::getByIndex(index);
}
static kdlib::TargetSystemPtr getSystemById(kdlib::SYSTEM_DEBUG_ID id)
{
AutoRestorePyState pystate;
return kdlib::TargetSystem::getById(id);
}
static std::wstring getDescription(kdlib::TargetSystem& system)
{
AutoRestorePyState pystate;
return system.getDescription();
}
static kdlib::SYSTEM_DEBUG_ID getId(kdlib::TargetSystem& system)
{
AutoRestorePyState pystate;
return system.getId();
}
static bool isDumpAnalyzing(kdlib::TargetSystem& system)
{
AutoRestorePyState pystate;
@ -91,6 +103,12 @@ struct TargetProcessAdapter {
return kdlib::TargetProcess::getByIndex(index);
}
static kdlib::TargetProcessPtr getProcessById(kdlib::PROCESS_DEBUG_ID id)
{
AutoRestorePyState pystate;
return kdlib::TargetProcess::getById(id);
}
static unsigned long getNumberProcesses()
{
AutoRestorePyState pystate;
@ -103,6 +121,12 @@ struct TargetProcessAdapter {
return process.getSystemId();
}
static kdlib::PROCESS_DEBUG_ID getId(kdlib::TargetProcess& process)
{
AutoRestorePyState pystate;
return process.getId();
}
static kdlib::MEMOFFSET_64 getPebOffset(kdlib::TargetProcess& process)
{
AutoRestorePyState pystate;
@ -161,6 +185,36 @@ struct TargetProcessAdapter {
struct TargetThreadAdapter {
static unsigned long getNumberThreads()
{
AutoRestorePyState pystate;
return kdlib::TargetThread::getNumber();
}
static kdlib::TargetThreadPtr getCurrent()
{
AutoRestorePyState pystate;
return kdlib::TargetThread::getCurrent();
}
static kdlib::TargetThreadPtr getThread(unsigned long index)
{
AutoRestorePyState pystate;
return kdlib::TargetThread::getByIndex(index);
}
static kdlib::TargetThreadPtr getThreadById(kdlib::THREAD_DEBUG_ID id)
{
AutoRestorePyState pystate;
return kdlib::TargetThread::getById(id);
}
static kdlib::THREAD_DEBUG_ID getId(kdlib::TargetThread& thread)
{
AutoRestorePyState pystate;
return thread.getId();
}
static kdlib::THREAD_ID getSystemId(kdlib::TargetThread& thread )
{
AutoRestorePyState pystate;