为脚本中的GDB日志文件提供唯一的名称

时间:2014-03-29 00:27:47

标签: automation gdb

我想将GDB命令输出记录到日志文件中。

使用以下命令完成此操作:

set logging file outfulfile.txt

但是,我想给文件一个唯一的名称,而不是简单的outfulfile.txt;例如outfulfile-PID.txt。这是因为我将有几个进程同时产生输出,我希望每个进程都能记录到它自己的唯一文件。

如何以编程方式在GDB脚本中派生此类文件名?

1 个答案:

答案 0 :(得分:1)

方法很少。

一种相对简单的方法是使用gdb" eval"命令。它替换像printf这样的参数,然后将结果作为gdb命令执行。这是一个新命令。

如果你没有" eval"你可能还有Python脚本。在这种情况下,您可以编写一个简短的(一行)Python脚本,如:

(gdb) python gdb.execute('set logging file ' + .. your logic here ..)

如果你没有Python脚本,那么你的gdb真的很旧,你应该升级。然而你仍然可以完成你想要的东西,只是使用" shell"然后写出一个脚本然后你来源"回到gdb。虽然这种技术在这种情况下看起来有些困难。