2010-08-04 3 views
3

У нас есть специальное приложение, разработанное для Windows Server 2003, но с момента его переноса с Windows Server 2008 R2 возникают проблемы.Убив процесс

Часть приложения/процесса заключается в том, чтобы убить процесс Windows с помощью кода на C#. Это отлично работало в Windows 2003, но в Windows 2008 R2 код не смог убить процесс. Кто-нибудь сталкивался с чем-то похожим или имел какие-то идеи, в чем проблема?

+4

Убедитесь, что ваш код работает под учетной записью, которая имеет достаточно привилегий для уничтожения процессов. – Oded

+0

«код не может убить процесс» - что происходит? Ничего? Получаете ли вы исключение? Который из? Что такое сообщение об ошибке? – dtb

+0

Спасибо за ваши комментарии. Учетная запись является локальным администратором на поле. Когда это не удается, ошибка записывается в журнал событий: Сбойного имя модуля: KERNELBASE.dll, версия: 6.1.7600.16385, штамп времени: 0x4a5bdfe0 Исключения Код: 0xe053534f смещение Fault: 0x000000000000aa7d Сбойного идентификатора процесса: 0x% 9 Сбойного времени запуска приложения: 0x% 10 Сбойного пути приложения:% 11 Сбойного пути модуля:% 12 Id отчета: 13% процесс остается в памяти. Не уверен, что это помогает. Большое спасибо. – Paul

ответ

4

Код исключения: 0xe053534f

Всегда вдохновляя, когда проблема имеет что-то делать с названием этого сайта. Программисты Microsoft часто выбирают коды исключений, которые могут быть декодированы до аббревиатуры 3 буквы. Код исключения для исключения C++ - 0xe04d5343, последние 3 гексабайта декодируются в «MSC», Microsoft C++. Код исключения для управляемого исключения: 0xe0434f4d, «COM +», который был ранним именем для .NET.

Дайте исключение тому же методу, и вы получите «SSO». Это означает «переполнение мягкого стека». Это то же самое, что и регулярное переполнение стека, за исключением того, что система может предсказать его. Он знает, что, если он завершит вызов, программа будет бомбить, потому что осталось недостаточно пространства стека.

Точно, почему ваше приложение бомбардирует переполнение стека, непонятно из предоставленной вами информации. Вам придется отлаживать его.