From 7b6c8781f8ac451ce1476bbc9d1be7e1f2847f48 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Wed, 27 Nov 2013 08:12:37 +0000 Subject: [PATCH] [0.3.x] added : explicit initialization routine ( only for console mode ) for predictable working in multithread application git-svn-id: https://pykd.svn.codeplex.com/svn@86586 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dllmain.cpp | 2 -- pykd/pymod.cpp | 5 +++++ test/scripts/pykdtest.py | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pykd/dllmain.cpp b/pykd/dllmain.cpp index 81978be..efb52b7 100644 --- a/pykd/dllmain.cpp +++ b/pykd/dllmain.cpp @@ -11,7 +11,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: - kdlib::initialize(); break; case DLL_THREAD_ATTACH: @@ -19,7 +18,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, break; case DLL_PROCESS_DETACH: - kdlib::uninitialize(); break; } return TRUE; diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index ed3e03c..a71b0cb 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -86,6 +86,11 @@ BOOST_PYTHON_MODULE( pykd ) python::scope().attr("version") = pykdVersion; + python::def( "initialize", &kdlib::initialize, + "Initialize debug engine, only for console mode" ); + python::def( "deinitialize", &kdlib::uninitialize, + "Deintialize debug engine, only for console mode" ); + // DbgEng services python::def( "setSymSrvDir", &kdlib::setSymSrvDir, "Set directory of SYMSRV.dll library.\nUsually this is a directory of WinDbg"); diff --git a/test/scripts/pykdtest.py b/test/scripts/pykdtest.py index 40a4a67..294db95 100644 --- a/test/scripts/pykdtest.py +++ b/test/scripts/pykdtest.py @@ -29,6 +29,8 @@ import customtypestest #import ehstatustest #import ehsymbolstest +pykd.initialize() + class StartProcessWithoutParamsTest(unittest.TestCase): def testStart(self): target.processId = pykd.startProcess( target.appPath )