2016-07-22 54 views
0

我想将“info sharedlibrary”值赋给用户定义函数中的变量。gdb脚本,在用户变量中赋值函数的返回值

比如,

define customFunction 

    set $i = info sharedlibrary 

end 

但它在gdb 似乎是不可能的,也是我无法使用Python脚本太...

有没有办法做到这一点?

谢谢

PS。我正在尝试这样做,因为我只想打印选定库的说明。

回答

1

你没有提到为什么你不能使用Python函数。这是编程gdb最简单的方法。然而,如果你真的必须这样做,而且真的必须避免Python,那么有一种方法。这是毛病!但它确实有效。就像这样:

  • 使用各种set logging命令将输出重定向到临时文件。
  • 调用你想要的命令。
  • 再次使用set logging禁用日志记录。
  • 使用shell命令可以运行sedperl或者在这个临时文件上有什么东西可以将它变成一系列gdb命令,比如说设置变量的命令,或者打印准确输出所需输出的命令。
  • source生成的文件
+0

哇,非常感谢。这对我很有帮助。 而我不能使用Python的原因是因为我想在我的Android设备中使用gdb。 –