我特林去捕捉在特定時刻在命令提示符(cmd窗口)顯示的信息,並將其發送到一個文本文件中。如何在Windows中隨時捕獲命令提示符的顯示輸出?
我在C/C++應用程序由批處理腳本推出這樣的:
c:\myProgramInC.exe
echo "Ending with error"
PAUSE
myProgramInC.exe始終運行(與無限循環),所以如果我的腳本獲取到echo命令這意味着我的應用以異常結束。
我想得到的是腳本結束執行前的前幾行,因爲我的myProgramInC.exe總是打印有關正在發生的事情的信息,查看發生錯誤時發生了什麼會非常有用。這樣
c:\myProgramInC.exe
**** Execution of process to get te previous N lines in the command prompt ****
echo "Ending with error"
PAUSE
我知道cmd窗口的東西有一個緩衝區,我一直在想捕捉到所有的數據從這樣的緩衝。有什麼方法可以將這些信息作爲文本存儲在文件中?
我一直在嘗試一些更專業的事情,使用ProcDump創建內存轉儲,但由於我有不同的myProgramInC.exe同時運行(每個存儲在不同的位置),我只是得到消息「多個進程匹配指定的名稱。」其餘的選項對我來說沒有用,因爲我的應用程序沒有反應遲鈍,它只是結束。
任何想法?我們能夠立刻在民德
是'myProgramInC.exe'你的程序?你可以添加一些日誌到你的代碼? – aphoria 2012-08-12 14:21:18
'myProgramInC.exe'不是我的,但我經常更新;當發生這種情況時,我使用try-catch funcionality來獲取正在使用的數據,並且一切正常。但是,正如我所說,同一個應用程序有很多實例(它存在於不同的版本中),並且由於它是一個傳統軟件,其中一些是ANSI C代碼,它不接受try-catch的使用,並且對於這些版本有必要有某種記錄器。 – AdamC 2012-08-14 00:44:18