Python的程序数据库(PDB)符号

3 投票
1 回答
4715 浏览
提问于 2025-04-18 05:11

我下载并安装了Python 2.7.6的64位Windows版本(文件名是python-2.7.6.amd64.msi),还下载了源代码(Python-2.7.6.tgz)和PDB符号(python-2.7.6.amd64-pdb.zip),这些都是从http://python.org/ftp/python/2.7.6/上获取的,并按照这里的说明指定了PDB文件的位置:

enter image description here

但是,当我在Visual Studio 2013中使用Python工具调试Python代码时,出现了错误,提示符号和源代码不匹配:

enter image description here

^ 什么情况?这个用户在我的电脑上根本不存在!

enter image description here

而且,即使我找到对应的文件,调试器在我逐行执行代码时也会跳来跳去——有时它会跟着代码走,有时却跳到错误的行。这种情况通常发生在符号和源代码不匹配的时候。

我该怎么解决这个问题?为什么Python官网上的发行版、源代码和符号似乎不匹配呢?

1 个回答

4

“原始位置”指的是在构建这个二进制文件时,.c 文件在那台机器上的绝对路径。在这个例子中,这台机器是 Martin von Löwis 的,他是 Windows 上 Python 的维护者。这并不意味着你必须在同样的位置有这个文件,只要文件名和内容一致就可以了。

在 C 代码中“跳来跳去”是优化构建中常见的现象。

撰写回答