pdb中的'n'将我移到pdb.set_trace()方法中 [英] 'n' in pdb moves me inside of the pdb.set_trace() method

查看:210
本文介绍了pdb中的'n'将我移到pdb.set_trace()方法中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用本教程从另一个stackoverflow问题引用,我在入门部分的第3步。

I'm trying to learn pdb using this tutorial referenced from another stackoverflow question, and I'm on the 3rd step of the Getting Started section.

In [12]: %paste
# epdb1.py -- experiment with the Python debugger, pdb
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final
## -- End pasted text --
--Return--
> <ipython-input-12-48afa1c7ad72>(4)<module>()->None
-> pdb.set_trace()


(Pdb) l
  1     # epdb1.py -- experiment with the Python debugger, pdb
  2     import pdb
  3     a = "aaa"
  4  -> pdb.set_trace()
  5     b = "bbb"
  6     c = "ccc"
  7     final = a + b + c
  8     print final
[EOF]


(Pdb) n
> /Users/jg/anaconda/lib/python2.7/site-packages/IPython/core/interactiveshell.py(3038)run_code()
-> sys.excepthook = old_excepthook
(Pdb) l
3033                    self.hooks.pre_run_code_hook()
3034                    #rprint('Running code', repr(code_obj)) # dbg
3035                    exec(code_obj, self.user_global_ns, self.user_ns)
3036                finally:
3037                    # Reset our crash handler in place
3038 ->                 sys.excepthook = old_excepthook
3039            except SystemExit as e:
3040                if result is not None:
3041                    result.error_in_exec = e
3042                self.showtraceback(exception_only=True)
3043                warn("To exit: use 'exit', 'quit', or Ctrl-D.", level=1)

看起来n(ext)应该让我转到当前帧的下一行:

It looks like n(ext) should move me to the next line in the current frame:

(Pdb) help next
n(ext)
Continue execution until the next line in the current function
is reached or it returns.

似乎在教程的示例中成功地做到了这一点。但是在我的ipython中,似乎是将我移动到pdb.set_trace()代码中的下一行。

And seems to do that successfully in the tutorial's example. But in my ipython it appears to be moving me to the next line within the pdb.set_trace() code.

如何导航到'b ='bbb '行?

How do I simply navigate to the 'b = "bbb"' line?

推荐答案

在你的ipython中试试这个:

Try this in your ipython:

import pdb
def test_pdb_example():
    a = "aaa"
    pdb.set_trace() # use 'n' for navigate to next line
    b = "bbb"
    c = "ccc"
    final = a + b + c
    return final

test_pdb_example()

这篇关于pdb中的'n'将我移到pdb.set_trace()方法中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆