diff --git a/pykd/pydbgeng.h b/pykd/pydbgeng.h index f6dc9ac..a8ba878 100644 --- a/pykd/pydbgeng.h +++ b/pykd/pydbgeng.h @@ -154,6 +154,13 @@ kdlib::DumpType getDumpType() return kdlib::getDumpType(); } +inline +kdlib::DumpFormatFlagsSet getDumpFormat() +{ + AutoRestorePyState pystate; + return kdlib::getDumpFormat(); +} + /////////////////////////////////////////////////////////////////////////////// // processes end threads diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index f1f7294..ed5996f 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -203,7 +203,9 @@ void pykd_init() python::def("setOutputMask", pykd::setOutputMask, "Set output mask"); python::def("getDumpType", pykd::getDumpType, - "Return type of dump"); + "Return type of the dump"); + python::def("getDumpFormat", pykd::getDumpFormat, + "Return format the dump"); python::def( "breakin", pykd::targetBreak, "Break into debugger" ); @@ -1544,6 +1546,29 @@ void pykd_init() .value("KernelFull", kdlib::KernelFull) ; + python::enum_("dumpFormat", "Dump format") + .value("UserSmallFullMemory", kdlib::UserSmallFullMemory) + .value("UserSmallHandleData", kdlib::UserSmallHandleData) + .value("UserSmallUnloadedModules", kdlib::UserSmallUnloadedModules) + .value("UserSmallIndirectMemory", kdlib::UserSmallIndirectMemory) + .value("UserSmallDataSegments", kdlib::UserSmallDataSegments) + .value("UserSmallFilterMemory", kdlib::UserSmallFilterMemory) + .value("UserSmallFilterPaths", kdlib::UserSmallFilterPaths) + .value("UserSmallProcessThreadData", kdlib::UserSmallProcessThreadData) + .value("UserSmallPrivateReadWriteMemory", kdlib::UserSmallPrivateReadWriteMemory) + .value("UserSmallNoOptionalData", kdlib::UserSmallNoOptionalData) + .value("UserSmallFullMemoryInfo", kdlib::UserSmallFullMemoryInfo) + .value("UserSmallThreadInfo", kdlib::UserSmallThreadInfo) + .value("UserSmallCodeSegments", kdlib::UserSmallCodeSegments) + .value("UserSmallNoAuxiliaryState", kdlib::UserSmallNoAuxiliaryState) + .value("UserSmallFullAuxiliaryState", kdlib::UserSmallFullAuxiliaryState) + .value("UserSmallModuleHeaders", kdlib::UserSmallModuleHeaders) + .value("UserSmallFilterTriage", kdlib::UserSmallFilterTriage) + .value("UserSmallAddAvxXStateContext", kdlib::UserSmallAddAvxXStateContext) + .value("UserSmallIptTrace", kdlib::UserSmallIptTrace) + .value("UserSmallIgnoreInaccessibleMem", kdlib::UserSmallIgnoreInaccessibleMem) + ; + // C++ exception translation to python pykd::registerExceptions(); }