Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从字符串返回gdb.Value()?_Gdb_Gdb Python - Fatal编程技术网

如何从字符串返回gdb.Value()?

如何从字符串返回gdb.Value()?,gdb,gdb-python,Gdb,Gdb Python,考虑以下输出相同文本字符串的gdb命令 (gdb) print foo (gdb) python print(gdb.lookup_symbol('foo')) 在这种情况下,gdb.lookup\u symbol()按预期返回一个gdb.Value()实例,其字符串化等同于默认的gdb字符串化 但现在考虑以下等价情况: (gdb) print *&foo *&是一个noop,但是尝试使用gdb.lookup\u符号('*&foo')不起作用。所以我的问题是,是否可以使用gdb的命令

考虑以下输出相同文本字符串的gdb命令

(gdb) print foo
(gdb) python print(gdb.lookup_symbol('foo'))
在这种情况下,
gdb.lookup\u symbol()
按预期返回一个
gdb.Value()
实例,其字符串化等同于默认的gdb字符串化

但现在考虑以下等价情况:

(gdb) print *&foo
*&
是一个noop,但是尝试使用
gdb.lookup\u符号('*&foo')
不起作用。所以我的问题是,是否可以使用gdb的命令行从python中解引用解析器,然后得到一个
gdb.Value

尝试使用gdb.lookup_符号('*&foo')无效

这是因为二进制文件中没有名为
*&foo
的符号

是否可以从python中使用gdb的命令行解引用解析器,然后得到一个gdb.Value作为返回

你的问题不是很清楚,但我想你是在问:

尝试使用gdb.lookup_符号('*&foo')无效

这是因为二进制文件中没有名为
*&foo
的符号

是否可以从python中使用gdb的命令行解引用解析器,然后得到一个gdb.Value作为返回

你的问题不是很清楚,但我想你是在问:


这正是我想要的。:-)这正是我想要的。:-)
Function: gdb.parse_and_eval (expression)
Parse expression, which must be a string, as an expression in the current language,
evaluate it, and return the result as a gdb.Value.

This function can be useful when implementing a new command (see Commands In Python),
as it provides a way to parse the command’s argument as an expression.
It is also useful simply to compute values, for example, it is the only way to get
the value of a convenience variable (see Convenience Vars) as a gdb.Value.