簡體   English   中英

從命令行調用程序時禁用Windows“調試窗口”

[英]Disable windows “debugging window” when calling program from the command line

我正在從C#應用程序啟動命令行應用程序,此命令行應用程序是另一個C#應用程序,它不時引發異常並死亡,這通常不是問題,並且代碼知道如何處理這種情況。

問題是,只要引發此錯誤,就會顯示Windows調試窗口。 有什么方法可以從調用程序中禁用它嗎? ProcessStartInfo屬性一樣,我可以用來防止它發生嗎?

我也可以更改命令行程序,但是我寧願不這樣做。

您所看到的是即時調試器 ,要將您的程序從檢測到的將啟動調試器的程序列表中排除,您必須將exe的名稱放在以下注冊表中

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\AutoExclusionList

如果您正在運行Windows的64位版本,則還應將exe名稱添加到

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\AutoExclusionList

創建一個新的REG_DWORD值,將其命名為YourAppName.exe並將其值設置為1

請參閱此MSDN文章以獲取更多詳細說明。

該錯誤顯然是由未處理的異常引起的。

假設它是一個命令行應用程序,為什么不放一個try ... catch塊來包裝整個Main方法並以適當的方式處理異常,例如將錯誤代碼返回到控制台或您需要的其他東西,想做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM