WinDbg会话加载pykd.pyd失败,求助问题原因排查
WinDbg加载pykd.pyd失败的原因分析及解决办法
错误0n126:指定模块找不到
虽然你确认pykd.pyd文件存在,但WinDbg返回的0n126错误并非找不到pykd.pyd本身,而是pykd.pyd依赖的其他模块缺失:
- 你使用的是x86版本WinDbg,必须匹配安装x86版本的Python 2.7,如果装了x64版Python,pykd.pyd依赖的python27.dll是x64架构,x86的WinDbg无法加载
- 检查Python 2.7的x86运行时库(python27.dll)是否在系统PATH中,或者WinDbg启动时能访问到的路径里
错误0n2:系统找不到指定文件
用双引号包裹路径后出现的错误,是因为WinDbg的命令解析逻辑把双引号内的反斜杠\当成了转义字符,导致路径里的所有反斜杠被移除,变成了C:Python27Libsite-packagespykd.pyd这种无效路径,自然找不到文件。
解决办法
- 针对0n126错误:
- 卸载x64版Python 2.7,安装x86版Python 2.7,确保pykd.pyd是对应x86版本的
- 将Python 2.7的安装目录(比如
C:\Python27)添加到系统PATH环境变量中,或者启动WinDbg前先进入Python安装目录
- 针对0n2错误:
- 若路径无空格,直接不用双引号包裹路径
- 必须用双引号时,将路径中的反斜杠改成双反斜杠:
.load "C:\\Python27\\Lib\\site-packages\\pykd.pyd" - 或者用正斜杠替代反斜杠:
.load "C:/Python27/Lib/site-packages/pykd.pyd"
内容的提问来源于stack exchange,提问作者Dominique
相关产品推荐
相关产品推荐

