gpt4 book ai didi

python - gdb 内的 ipython shell

转载 作者:行者123 更新时间:2023-12-01 04:02:10 27 4
gpt4 key购买 nike

我创建了一个 python 脚本来启动 python 控制台“pythonstart.py”

导入系统
导入子流程
subprocess.call(['/usr/bin/python'])

我从 gdb 内部获取它

gdb# 源 pythonstart.py

它提供了一个 python 控制台。

问题:当我从 python 控制台退出时,它返回到 gdb,如果我再次按“ENTER”,它会再次返回到 python 控制台。我不确定为什么会发生。一旦我退出了 python 控制台,为什么它又回来了。

还有一种情况:退出python后,如果我不在gdb上按“ENTER”,而是执行任何命令然后按“ENTER”,则不会出现问题。

(gdb)
(gdb) source pythonstart.py
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>> exit()
(gdb) <---- Pressing Enter here
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>

我想阻止它在按回车键后回退到 python 控制台。请帮忙。

最佳答案

输入命令行后,gdb 会保存它。如果您只输入一个空行,gdb re-executes保存的命令(如果有)。在您的情况下,输入 ENTER 将重新执行 source pythonstart.py

如果命令是脚本,则可以调用gdb命令dont-repeat ,这将清除已保存的命令。

因此,如果您不想使用空行来重新执行源代码,则可以将gdb.execute("dont-repeat")添加到Python脚本中命令。

关于python - gdb 内的 ipython shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36305129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com