0

我正在尝试使用 PyKd 将 python 扩展加载到 WinDBG。

.load pykd成功。

当我跑步时!py,我得到了这个:

找不到python解释器

我尝试过的事情:

  • 不同版本的python

  • 使用 PyKd 的 dll 和 pyd 文件

  • .重新加载 /f

  • 不同的符号路径

  • 调试WinDBG和PyKd,也是通过源码,没有成功

是的,我的环境使用 Python 路径正确设置。

在网络上找不到任何提及该问题的内容。它在我拥有的不同系统和配置上总是运行顺利,但在我的新系统上,我收到了这个奇怪的消息。

细节:

Windows 10 家庭版,版本 1607,x64

WinDBG x86,构建 10.0.15063.0

Python 2.7.13,但我也尝试了许多其他版本。

符号路径:cache*c:\symbols;srv* https://msdl.microsoft.com/download/symbols

戴尔 XPS 15

4

5 回答 5

1

在同一台机器上安装多个 python 时,我遇到了这个问题。设法通过手动创建所需的注册表项来解决它,因为我不想重新安装任何 python 版本,也不想更改全局路径/pythonpath 变量。

请注意,windbgx64 需要 x64 python,windbgx86 需要 x86 python

假设您想使用3.7x86安装在的python 和安装在的c:\python37_x86python3.6x64c:\python36_x64

  1. 创建通向HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PythonCore\3.7-32\InstallPath那里的键,并将其设置(Default)c:\python37_x86\(尾部反斜杠很重要!)

  2. 同样,创建通向HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.6\InstallPath那里的键,并将其设置(Default)c:\python36_x64\

  3. 不幸的是,PYTHONPATH环境变量仍在使用,并且必须与引用的 python 版本匹配(否则你Fatal Python error: unable to load the file system codec遇到这一步

为了规避上一个问题,我创建了 .bat 文件来修改环境并使用正确的环境启动 windbg。

例如启动 32 位 windbg:

set PYTHONPATH=C:\python37_x86\Lib;[...Rest of the PYTHONPATH for this python version...]
start windbgx -debugArch x86 -c ".load c:\dev\tools\pykd\x86\pykd.dll"
于 2020-04-28T10:03:54.767 回答
0

如果你没有这个注册路径:HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\xx\PythonPath,那么你应该安装 python-2.7(x64) 并启用路径。在此处输入图像描述

于 2019-10-29T05:09:26.590 回答
0

也有同样的问题,最终取决于您使用的是哪个windbg版本,以及您安装了哪些python版本;

  • 如果是windbg x86,则需要安装python 32位。
  • 如果是windbg x64,则需要安装python 64位。

我不必在 PATH 中添加任何特定版本,我的系统中有 3 个版本的 python;python2.7x86、python2.7x64 和 python3x64,如果我!pykd.info在 windbgx86 中运行,它会识别两个 x86 python,如果我在 sindbgx64 中运行它,它会识别 x64 python。

如果你!pykd.info没有列出任何 python,你可能把它们弄混了(运行 windbgx64 时只有 pythonx86,或者运行 windbgx86 时只有 pythonx64)。

于 2021-03-25T12:16:01.197 回答
0

WinDBG x86,构建 10.0.15063.0 Python 2.7.13,但我也尝试了许多其他版本。

你需要 python 2.7.13 x86

安装后,您可以使用命令 pykd.info 检查 pykd 的可见性 - 它应该显示 python 的路径。对于 python 2.7,它通常是 C:\windows\system32\python27.dll

于 2017-09-02T08:05:18.767 回答
0

我也安装了最新的pykd,并且出现了同样的问题。

然后我发现我没有在这个virtualbox上安装python 2.7。

安装 python 2.7 就可以了。你已经安装了,建议你检查一下python安装路径是否在“path”环境变量中

于 2017-08-24T08:35:52.267 回答