gdb内部的ipython shell

2024-10-03 13:26:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个启动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.
>>> 
>>> 

我希望在按下enter键后阻止它返回到python控制台。请帮忙。在


Tags: orpydefaultlicenseontypehelpjun
1条回答
网友
1楼 · 发布于 2024-10-03 13:26:58

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

如果命令是脚本,它可以调用gdb命令^{},这将清除保存的命令。在

因此,如果您不希望空白行重新执行source命令,那么可以将gdb.execute("dont-repeat")添加到python脚本中。在

相关问题 更多 >