Installation as a WinDBG extension with pykd bootstrapper
If you are going to run pykd in the windbg it is easiest way. All you need:1. download pykd bootstapper
2. choose version ( x64 or x86 ) and copy pykd.dll to winext catalog of the windbg
3. in the windbg load the extension:
.load pykd
4. If you run pykd the first time you need to install its python package ( see also "Installation as a Python package with pip")
!pykd.install.
It is equal to running python script: pip install pykd
5. Now you can use pykd
6. You can upgrade pykd from the windbg by command:
!pykd.upgrade
Installation as a Python package with pip:
You can install pykd as a common python package with pip:pip install pykd
Or upgrade existing version:
pip install pykd --upgrade
Pip documentation: https://pip.pypa.io
Pykd page on the PyPI: https://pypi.python.org/pypi/pykd
If pip can not install pykd from PyPI
Sometimes pip can not install packages from PyPi, for example due proxy with NTLM authorization. In this situation you can download a python wheel ( file with wlh extension ) and install it with pip locally:pip install pykd-0.3.0.38-cp27-none-win32.whl
Manual Installation guide:
0. choose x86 or x64 and download it1. unpack archive to any catalog
2. if you have not a VS Studio 2012 installed, you should register msdia110.dll by the command
regsvr32 msdia110
3. run windbg and load pykd:
.load pathtopykd
4. to use pykd within python program add a path to pykd to the PYTHONPATH or via registry ( \SOFTWARE\Python\PythonCore\version\PythonPath )
Attention!!! Do not attempt to copy pykd.pyd of the 0.3.x version over 0.2.x . It will not work properly!
Where is an automatic installer?
We still have a problem with the installer (see https://pykd.codeplex.com/workitem/13172 ) and can not upload fixed version now.What's new
- module.enumTypes method ( return list of types name )
- typedVar.getLocation method ( return location of the varibale )
Bug fixed:
issue #13815(printing type of variadic function with ... raises exception )issue #13846( Run-Time Check Failure #2 )issue #13856( inproper implementation of element's indexing for pointers )issue #13820( getParam() returns wrong values for fastcall )issue #13855( Undecorate export C++ symbols )issue #13860( typedVar.getAddress returns non properly extended address )issue #13857( print does not output value of the bit fileds )