我有一個控制檯應用程序,當輸出重定向到文件時,它會因I/O錯誤6而崩潰。它可能與控制檯應用程序更改文本顏色這一事實有關,這在文件中沒有多大意義。如何調試帶重定向輸出的Delphi應用程序
- 這工作:
c:\dir\app.exe
- 這種崩潰:
c:\dir\app.exe >out.txt
當我提供>out.txt
作爲IDE(run\parameters\parameters\
)的參數,我只是得到>out.txt
作爲參數。
如何使用stdout重定向到文件而不是控制檯來調試應用程序?
我有一個控制檯應用程序,當輸出重定向到文件時,它會因I/O錯誤6而崩潰。它可能與控制檯應用程序更改文本顏色這一事實有關,這在文件中沒有多大意義。如何調試帶重定向輸出的Delphi應用程序
c:\dir\app.exe
c:\dir\app.exe >out.txt
當我提供>out.txt
作爲IDE(run\parameters\parameters\
)的參數,我只是得到>out.txt
作爲參數。
如何使用stdout重定向到文件而不是控制檯來調試應用程序?
重定向由命令行解釋器製成,窗口是cmd.exe的
要調試應用程序,只需啓動一個帶有propers參數的cmd.exe來啓動應用程序並重定向輸出,例如:
cmd.exe/c「yourapplication.exe> redirect.txt」
爲了從內部IDE這一點,爲了調試,配置CMD.EXE作爲主機的應用程序(運行/參數):
將要停止斷點,並啓動一個新的CMD.EXE(項目/加載過程)與負載動作之後「運行到第一源」:
大功告成...調試器必須停止在斷點應用。
您可以嘗試遠程調試:
在應用程序的開始,增加一個ReadLn;
,讓你的時間從內德爾福
從命令啓動應用程序(指定> out.txt參數)
在Delphi中,連接應用程序進程(Run | Attach to Process...
),設置一個斷點,然後切換到應用程序進入一個關鍵
提示:一個斷點調試器也可在代碼中設置:
asm
int 3
end;
確保它沒有因目錄權限而失敗。將輸出文件路徑完全限定在某個可以保證寫入的地方。否則,Windows7可能正在與目錄玩遊戲。 (VirtualStore的東西)。