我正尝试使用WinDBG将一个python扩展加载到PyKd。
.load pykd
成功。
当我运行!py
时,我得到了这样的信息:
未能找到python解释器
我尝试过的事物:
是的,使用Python路径正确地设置了我的环境。
在网上找不到任何关于这个问题的报道。它总是在不同的系统和配置上顺利运行,但在我的新系统上,我得到了这个奇怪的消息。
详细信息:
Windows 10 Home,版本1607,x64
WinDBG x86,build 10.0.15063.0
Python2.7.13,但我也尝试了许多其他版本。
符号路径:缓存*c:\符号;srv*https://msdl.microsoft.com/download/symbols
戴尔XPS 15
发布于 2017-08-24 08:35:52
我也安装了最新的pykd,也出现了同样的问题。
然后,我发现我没有在这个virtualbox上安装python2.7。
安装python2.7将有效。我建议您检查python安装路径是否在" path“环境变量中
发布于 2019-10-29 05:09:26
如果您没有这个注册路径:HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\xx\PythonPath
,那么您应该安装python-2.7(x64)并启用路径。
发布于 2020-04-28 10:03:54
在同一台机器上安装多个python时,我遇到了这个问题。通过手动创建必需的注册表项来解决这个问题,因为我不想重新安装任何python版本,也不想更改全局路径/pythonpath变量。
请注意,x64 python用于windbgx64,x86 python用于windbgx86。
假设您想使用安装在c:\python37_x86
上的python c:\python37_x86
和安装在c:\python36_x64
上的python 3.6x64
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PythonCore\3.7-32\InstallPath
的键,并将(Default)
设置为c:\python37_x86\
(尾随反斜杠很重要!)HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.6\InstallPath
的键,并将(Default)
设置为c:\python36_x64\
PYTHONPATH
环境变量仍在使用,并且必须与引用的python版本相匹配(否则您将遇到Fatal Python error: unable to load the file system codec
。注意:只有当其中一个版本为2.x,另一个版本为3.x时,这才可能是重要的。试着让它在没有这个步骤的情况下工作为了避免上一个问题,我创建了.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"
https://stackoverflow.com/questions/43688302
复制相似问题