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