2010-08-04 268 views
3

我們有一個爲Windows Server 2003開發的自定義應用程序,但自從將其遷移到Windows Server 2008 R2後出現問題。殺死進程

部分應用程序/進程是使用C#代碼殺死Windows進程。這在Windows 2003上運行良好,但在Windows 2008 R2上代碼無法終止進程。有沒有人遇到過類似的問題,或者有什麼想法可以解決問題?

+4

確保您的代碼在具有足夠特權來殺死進程的帳戶下運行。 – Oded 2010-08-04 10:05:44

+0

「代碼無法終止進程」 - 會發生什麼?沒有?你收到一個例外嗎?哪一個?什麼是確切的錯誤信息? – dtb 2010-08-04 10:11:19

+0

感謝您的意見。 該帳戶是本地管理員的方塊。當這種失敗,錯誤被寫入到事件日誌: 錯誤模塊名稱:KERNELBASE.dll,版本:6.1.7600.16385,時間戳:0x4a5bdfe0 異常代碼:0xe053534f 故障偏移:0x000000000000aa7d 出錯進程ID:0X% 9 錯誤應用程序開始時間:0x%10 錯誤應用程序路徑:%11 錯誤模塊路徑:%12 報告ID:%13 該進程仍保留在內存中。不知道這是否有幫助。 非常感謝。 – Paul 2010-08-04 10:38:34

回答

4

異常代碼:0xe053534f

問題時有事情做與這個網站的名字總是令人振奮的。微軟程序員經常選擇可以解碼爲3個字母首字母縮寫詞的異常代碼。 C++異常的異常代碼是0xe04d5343,最後3個十六進制字節解碼爲「MSC」,Microsoft C++。受管理的異常的例外代碼是0xe0434f4d,這是.NET的早期名稱「COM +」

給你的例外相同的待遇,你會得到「SSO」。這意味着「軟堆棧溢出」。這與普通的堆棧溢出完全相同,除了系統可預測到它之外。它知道,如果它完成了調用,該程序將因爲沒有足夠的堆棧空間而被彈出。

恰好爲什麼你的應用程序正在堆棧溢出爆炸並不清楚你提供的信息。你必須調試它。