我有一些非常奇怪的行为,我只是不理解,因此无法解释,所以我希望这里有人可以帮助我。我注意到的第一件事是ipdb不再让我定义变量:ipdb>what=5ipdb>what***NameError:name'what'isnotdefinedwhatelse=6稍后我发现ipdb在我的输入中返回了这个(再次运行代码之后):dir()ipdb>['args','content_type','function','ipdb','item_code','kwargs','object_id','request','ud_dict','update_querydict','what','whate
编辑很遗憾,目前这是不可能的。我发现这是一个buginSpyder.开发人员是stillfiguringouthowtoapproachthis.目标在调试代码时可视化数据(我也想使用Spyder!)。尝试#1:从Spyder的IPython运行foo.bar使用以下代码创建一个名为foo.py的文件:fromipdbimportset_traceasstimportmatplotlib.pyplotaspltdefbar():st()在IPython中,键入以下内容:In[4]:importfooIn[5]:foo.bar()--Return--None>somewhere_over
编辑很遗憾,目前这是不可能的。我发现这是一个buginSpyder.开发人员是stillfiguringouthowtoapproachthis.目标在调试代码时可视化数据(我也想使用Spyder!)。尝试#1:从Spyder的IPython运行foo.bar使用以下代码创建一个名为foo.py的文件:fromipdbimportset_traceasstimportmatplotlib.pyplotaspltdefbar():st()在IPython中,键入以下内容:In[4]:importfooIn[5]:foo.bar()--Return--None>somewhere_over
每当我需要在我的代码中设置断点时,我都会使用ipdb.set_trace()。现在,我正在尝试在使用multiprocessing创建的进程中使用它,虽然代码确实停止了,但我无法输入任何内容来继续调试。有什么方法可以让我的stdin正确定向?理想情况下,我想想象每次fork进程停止调试时都会打开一个新控制台,但我认为这是不可能的。 最佳答案 有时用于调试您可以更改代码以使用multiprocessing.dummy。这样,就不会进行fork,它会与线程一起工作,并且更容易调试。稍后(在修复错误之后...)您可以切换回multipro
每当我需要在我的代码中设置断点时,我都会使用ipdb.set_trace()。现在,我正在尝试在使用multiprocessing创建的进程中使用它,虽然代码确实停止了,但我无法输入任何内容来继续调试。有什么方法可以让我的stdin正确定向?理想情况下,我想想象每次fork进程停止调试时都会打开一个新控制台,但我认为这是不可能的。 最佳答案 有时用于调试您可以更改代码以使用multiprocessing.dummy。这样,就不会进行fork,它会与线程一起工作,并且更容易调试。稍后(在修复错误之后...)您可以切换回multipro
在Python3中运行此代码后:importpdbdeffoo():nums=[1,2,3]a=5pdb.set_trace()foo()以下表达式有效:(Pdb)print(nums)[1,2,3](Pdb)print(a)5(Pdb)[xforxinnums][1,2,3]但以下表达式失败:(Pdb)[x*aforxinnums]***NameError:globalname'a'isnotdefined以上在Python2.7中运行良好。这是一个错误还是我遗漏了什么?更新:查看新接受的答案。这确实是一个错误(或有问题的设计),现在已通过在pdb中引入新的命令和模式来解决。
在Python3中运行此代码后:importpdbdeffoo():nums=[1,2,3]a=5pdb.set_trace()foo()以下表达式有效:(Pdb)print(nums)[1,2,3](Pdb)print(a)5(Pdb)[xforxinnums][1,2,3]但以下表达式失败:(Pdb)[x*aforxinnums]***NameError:globalname'a'isnotdefined以上在Python2.7中运行良好。这是一个错误还是我遗漏了什么?更新:查看新接受的答案。这确实是一个错误(或有问题的设计),现在已通过在pdb中引入新的命令和模式来解决。
我正在尝试调试我编写的可以从标准输入获取参数的PythonCLI。一个简单的测试用例的输出是echo"test"|pythonmytool.py相当于的输出pythonmytool.pytest我想用这个工具调试一些问题,所以我尝试运行这个:echo"test"|pdbmytool.py但我得到这个输出,然后pdb退出:>/path/to/mytool.py(5)()->'''(Pdb)***NameError:name'test'isnotdefined(Pdb)当我将-mpython添加到shebang时,如果我在脚本中运行pdb.set_trace(),也会发生同样的事情。这是怎
我正在尝试调试我编写的可以从标准输入获取参数的PythonCLI。一个简单的测试用例的输出是echo"test"|pythonmytool.py相当于的输出pythonmytool.pytest我想用这个工具调试一些问题,所以我尝试运行这个:echo"test"|pdbmytool.py但我得到这个输出,然后pdb退出:>/path/to/mytool.py(5)()->'''(Pdb)***NameError:name'test'isnotdefined(Pdb)当我将-mpython添加到shebang时,如果我在脚本中运行pdb.set_trace(),也会发生同样的事情。这是怎
我有python脚本(ala#!/usr/bin/python),我想用pdb调试它。如何将参数传递给脚本?我有一个python脚本,想用pdb调试它。有没有办法可以将参数传递给脚本? 最佳答案 python-mpdbmyscript.pyarg1arg2...这会调用pdb作为脚本来调试另一个脚本。您可以在脚本名称之后传递命令行参数。见pdbdocpage了解更多详情。 关于python-如何将脚本参数传递给pdb(Python)?,我们在StackOverflow上找到一个类似的问题