我正在使用一个现有的WinDbg脚本框架,它经历了一系列由C++代码生成并输出结果的测试脚本Test1.txt、Test2.txt等。
例如,其中一个测试脚本的块将是,
.if (($spat(@"${var}","18300.000000")==1))
{
.logappend C:\Tests\TestResults.txt
.printf "TestNumber=\t1\tExpected=\t18300.000000\tActual=\t%.6f\t******PASSED******\n",poi(poi(@$t2+@$t6)+0x10)
.logclose
}我正在尝试添加一个功能,它将创建一个文件,该文件的名称显示正在运行的测试的当前#,这样用户就可以在不打开文件的情况下看到他们的进度。
我的想法是设置脚本生成器,这样在测试#N开始时,它会在脚本中添加一行代码来创建文件'currentlyRunningTestN.txt',在测试#N结束时,它会在脚本中添加一行代码来删除该文件。但是,我在printf元命令术语表:https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/meta-commands或支持的C函数列表(如WinDbg )中没有看到任何delete函数。我是不是遗漏了什么,或者是WinDbg不支持删除文件(或者等效重命名文件,这也可以满足我的目的?)如果删除/重命名不起作用,有没有其他方法可以实现我想要的功能?
发布于 2020-08-18 01:55:33
使用.shell命令,您可以执行任何类似于DOS的命令。尽管我从未尝试过删除文件,但这应该是可能的。
正如您可能已经注意到的,WinDbg脚本并不总是在第一次尝试时起作用,请确保您的脚本在删除文件时不会导致客户PC上的大数据丢失。
https://stackoverflow.com/questions/63348352
复制相似问题