Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/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
Automation 为脚本中的GDB日志文件指定唯一名称_Automation_Gdb - Fatal编程技术网

Automation 为脚本中的GDB日志文件指定唯一名称

Automation 为脚本中的GDB日志文件指定唯一名称,automation,gdb,Automation,Gdb,我想将GDB命令输出记录到日志文件中 这是使用以下命令完成的: set logging file outfulfile.txt 但是,与简单的outfulfile.txt不同,我想为该文件指定一个唯一的名称;例如outfulfile PID.txt。这是因为我将有几个进程同时生成输出,我希望每个进程都记录到自己的唯一文件中 如何在GDB脚本中以编程方式派生这样的文件名 没什么办法 一个相对简单的方法是使用gdb的“eval”命令。它替换printf之类的参数,然后将结果作为gdb命令执行。这是

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

这是使用以下命令完成的:

set logging file outfulfile.txt
但是,与简单的
outfulfile.txt
不同,我想为该文件指定一个唯一的名称;例如
outfulfile PID.txt
。这是因为我将有几个进程同时生成输出,我希望每个进程都记录到自己的唯一文件中

如何在GDB脚本中以编程方式派生这样的文件名

没什么办法

一个相对简单的方法是使用gdb的“eval”命令。它替换printf之类的参数,然后将结果作为gdb命令执行。这是一个新的ish命令

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

(gdb) python gdb.execute('set logging file ' + .. your logic here ..)
如果您没有Python脚本,那么您的gdb非常旧,您应该升级。然而,您仍然可以完成您想要的,只需使用“shell”进行一些可怕的旋转,并写出一个脚本,然后将其“源代码”返回到gdb中。虽然这种技术在这种情况下似乎有点困难