Я хочу использовать python для создания интерактивного скрипта для GDB.Он хорошо работает в gdb, но не работает, если я вызываю gdb из emacs.
Например, скрипт python (test.py) похож на приведенный ниже.Он просто печатает то, что получает.
def testInput():
n = raw_input('(gdb) ')
print n
Он работает в gdb:
% gdb
GNU gdb (GDB) 7.2.50.20110217
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) source test.py
(gdb) python testInput()
(gdb) 1
1
(gdb) q
Но в emacs он просто зависнет в raw_input и никогда не сможет получить ввод:
(gdb) source test.py
(gdb) python testInput()
(gdb) 1
2
...
Есть ли способ заставить его работать так же, как в gdb?