项目场景:
总共有两个py文件,分别是A.py和B.py。在A.py中调用B.py中的Add函数,以打印两个数字相加结果。
A.py:
import B
def Method1():
print("This is Method1")
def main():
a=1
b=1
c=1
B.Add(a,b)
c=1
if __name__ == '__main__':
main()
B.py
def Add(a,b):
result=a+b
print(result)
return result
问题描述:
- 通过python -m pdb A.py命令进入PDB的调试模型,如下图所示
- b B.py:3 (在B.py文件中的第三行打上断点),如下图所示
- 执行continue命令,PDB停留在B.py的第三行中,然后一直执行next,直到Add函数的return语句,如下图所示
- 再次执行next命令。按照正常顺序,pdb应该跳回A.py中的12行(c=1)。但是PDB跳回到A.py中main函数中,再次执行next便跳回到A.py的第一行(import B)
原因分析:
猜测可能是因为PDB在从B.py跳回去A.py时候,没找到原定位位置