gdb内的ipython外壳

gdb内的ipython外壳,python,gdb,Python,Gdb,我创建了一个python脚本,用于启动python控制台“pythonstart.py” 导入系统 导入子流程 子进程调用(['/usr/bin/python']) 我从gdb内部采购它 gdb#source pythonstart.py 它提供了一个python控制台 问题:当我退出python控制台时,它返回到gdb,如果我再次按“回车”,它将返回python控制台。 我不知道为什么会这样。一旦我退出了python控制台,为什么它会回来呢 还有另一种情况:退出python后,若我并没有在gd

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

导入系统
导入子流程
子进程调用(['/usr/bin/python'])

我从gdb内部采购它

gdb#source pythonstart.py

它提供了一个python控制台

问题:当我退出python控制台时,它返回到gdb,如果我再次按“回车”,它将返回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.
>>> 
>>> 
(gdb)
(gdb)源pythonstart.py
Python 2.7.6(默认值,2015年6月22日,18:00:18)
[GCC 4.8.2]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>> 
>>> 
>>>退出()
(gdb)>>
>>> 

我想在按下enter键后阻止它返回python控制台。请提供帮助。

键入命令行后,gdb将其保存。如果您只键入一个空行,gdb将显示保存的命令(如果有)。在您的情况下,键入ENTER将重新执行
源pythonstart.py

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

因此,如果您不希望使用空行重新执行
source
命令,可以将
gdb.execute(“notrepeat”)
添加到python脚本中