我想将一些命令行参数传递给通过gdb
命令运行的 python 脚本,但是在 python 中导入 gdb 模块会从 sys.config 中删除 argv 属性。如何在示例中显示的 python 脚本中访问 arg1 和 arg2?
命令行执行:
$ gdb -x a.py --args python -arg1 -arg2
一个.py:
#!/usr/bin/env python
import gdb
import sys
print('The args are: {0}'.format(sys.argv))
gdb.execute('quit')
引发的错误:
AttributeError: 'module' object has no attribute 'argv'
版本:
- GNU gdb (GDB) 7.2
- Python 2.6.6
编辑:
我要调试的最终目标是一个已经在运行的 C 可执行文件,所以我稍后会在脚本中附加它,所以gdb -x a.py --args python -arg1 -arg2
也不正确,因为该python
部分会打印一个 gdb 错误:Reading symbols from /usr/bin/python...(no debugging symbols found)...done.
...