您可以使用以下 ruby 代码解析 (.)trace 文件,该代码使用正则表达式将数据解析为 (.)sql 文件。它还提供了一个查询以将数据插入您选择的 SQL 数据库。
但在此之前使用以下命令将二进制跟踪日志转换为txt文件
/pathTotraceview/trceview -r 文件名.trace > 文件名.txt
然后保存并运行以下代码。
#!/usr/bin/env ruby
@values = Array.new
STDIN.read.split("\n").each do |a|
if a =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s([\w+.$]+)/
id = $1
tstart = $2
tend = $3
gstart = $4
gend = $5
excl = $6
incl = $7
meth = $8
@values << "(#{id},#{tstart},#{tend},#{gstart},#{gend},#{excl},#{incl},'#{meth}')"
end
end
puts "INSERT INTO table_name(pid,tstart,tend,gstart,gend,excl,incl,meth) values"
puts "#{@values.join(" , ")};"
要使用此文件将其以 toSQL.rb 或任何其他名称存储在您的工作目录中,并在终端中使用以下命令生成 sql 转储:
猫跟踪文件名.txt | ./toSQL.rb > 文件名.sql