使用参数从命令提示符调用python函数并捕获GDB中的返回值

时间:2016-06-28 21:10:16

标签: python gdb

尝试了下面的python脚本(我称之为sample.py)。它在GDB中对c ++代码进行查找

import gdb
def getstring():
    string = "RandomSearchString"
    value = gdb.lookup_symbol(string)
    print("string %s is at sym %s" %(string, value))

它完美无缺。但我想知道我是否有类似下面的代码如何从gdb中的代码外部调用函数getstring。

import gdb
def getstring(string):
    string = "%s" %(string)
    value = gdb.lookup_symbol(string)
    return value

我在GDB中执行以下执行步骤

g++ -g cppcode.cpp -o cppcode
gdb ./cppcode
run
<<gives a seg fault and haults>>
source sample.py

在此之后,我应该能够将函数作为getstring(RandomSearchString)调用并将返回值存储在某处。

有关如何操作的任何建议,因为当我这样做时

var x = getstring(RandomSearchString) 

它给出了错误,说x不在当前范围内。

1 个答案:

答案 0 :(得分:0)

我能够使用便利变量和漂亮的打印机。