我有一个使用以下语法运行的 EXE 文件:
[program.exe] [specific_test] [TRUE|FALSE] [iteration_number]
笔记:这里的细节并不重要……
在每次迭代中,文件都会打印一行:iteration #i
,当我运行测试时,所有输出都会显示在 CMD 窗口中。
命令:
C:\temp>FuzzNDIS.exe fuzzmethod true 1000
输出结束:
如您所见,所有 1000 次迭代都运行了(0-999)。但是,当我仅将其添加到命令中时:
C:\temp>FuzzNDIS.exe fuzzmethod true 1000 > C:/Temp/NDISFuzzer/logs/log.txt
并尝试在文件中获取完全相同的输出,它将始终剪切最后 X 次迭代:
- 问题始终存在:
如果我想要 100 次迭代,它会一直进行到 ~64 次,对于 10k 次迭代,会有 9996 次打印,对于 7000 次迭代,会有 6960 次打印,但永远不会达到我要求的数量。出于某种原因,它总是错过结尾。
观察:当输出不是到文件而是到 CMD 窗口时,一切都运行良好!
对于所有重定向错误缓冲区的建议 - 事实是这些行不是错误并且应该被打印出来,而不是将其定向到文件,所有内容都打印在屏幕上并且全部通过,所以这不是本例中的问题,这些解决方案对我没有帮助。
有没有其他方法可以轻松输出 CMD 窗口中出现的所有内容?或者也许有外部的东西可以访问窗口并复制其内容?
项目清单