相关疑难解决方法(0)

在异常时启动IPython shell

当我的程序运行引发异常的行时,有没有办法启动IPython shell或提示?

我最感兴趣的是引发异常的范围(和子范围)中的上下文,变量.像Visual Studio的调试,当抛出异常但没有被任何人捕获时,Visual Studio将停止并给我调用堆栈和每个级别的变量.

你认为有一种方法可以使用IPython获得类似的东西吗?

编辑:-pdb启动IPython 的选项似乎没有做我想要的(或者我可能不知道如何正确使用它,这是完全可能的).我运行以下脚本:

def func():
    z = 2
    g = 'b'
    raise NameError("This error will not be caught, but IPython still"
                    "won't summon pdb, and I won't be able to consult"
                    "the z or g variables.")

x = 1
y = 'a'

func()
Run Code Online (Sandbox Code Playgroud)

使用命令:

ipython -pdb exceptionTest.py
Run Code Online (Sandbox Code Playgroud)

这会在引发错误时停止执行,但会给我一个IPython提示符,其中我可以访问脚本的全局变量,但不能访问函数func的局部变量.pdb只在我在ipython中直接输入导致错误的命令时调用,即raise NameError("This, sent from the IPython prompt, will trigger pdb.").

我不一定需要使用pdb,我只想访问里面的变量func.

编辑2:已经有一段时间了,IPython的-pdb选项现在正如我想要的那样工作.这意味着当我提出异常时,我可以返回范围func并读取其变量z …

python debugging ipython

47
推荐指数
5
解决办法
1万
查看次数

在pdb中运行Python程序的中断(暂停)?

在gdb中,您可以通过Cc中断(暂停)程序并继续.

你能在pdb中这样做吗?

python debugging pdb

21
推荐指数
2
解决办法
8560
查看次数

暂停Windows中的进程

我正在为Windows上的ffmpeg制作一个漂亮的小Python GUI前端(一个专门用于将视频转换为iPhone友好格式并自动将其导入iTunes并标记它),我希望它能够工作以便你可以如果你愿意,暂停进程并恢复它.

由于我将ffmpeg作为一个单独的进程启动,显而易见的解决方案是程序暂停进程(我知道可以在Windows中使用,Process Explorer可以执行此操作),但我无法弄清楚如何执行此操作.有没有人知道如何在Python中这样做?

python windows

2
推荐指数
1
解决办法
2313
查看次数

标签 统计

python ×3

debugging ×2

ipython ×1

pdb ×1

windows ×1