locked
Почему я получаю странные исключения, когда класс DateTime находится в стеке вызовов? RRS feed

  • Общие обсуждения

  • Некоторые клиенты встречали исключения со следующим стеком вызовов на отдельных машинах:

    System.InvalidOperationException: Не удалось получить сведения о процессе от удаленного компьютера. ---> System.ArgumentOutOfRangeException: Такты должны быть между DateTime.MinValue.Ticks и DateTime.MaxValue .Ticks.
    Имя параметра: такты
    в System.DateTime..ctor(такты Int64)
    в System.DateTime.Subtract(значение TimeSpan)
    в System.Diagnostics.NtProcessManager.GetThreadInfo(тип PERF_OBJECT_TYPE, счетчики IntPtr instancePtr, PERF_COUNTER_DEFINITION[])
    в System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library, Int32 processIndex, Int32 threadIndex, IntPtr dataBlockPtr)
    в System.Diagnostics.NtProcessManager.GetProcessInfos(библиотека PerformanceCounterLib)
    --- Конец трассировки стека внутреннего исключения ---
    в System.Diagnostics.NtProcessManager.GetProcessInfos(библиотека PerformanceCounterLib)
    в System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine)
    в System.Diagnostics.ProcessManager.GetProcessInfos(String machineName)
    в System.Diagnostics.Process.GetProcesses(String machineName)
    в System. Diagnostics.Process.GetProcesses()
    в Process_Reader.Module1.Main()

    Это происходит потому, что повреждается информация о производительности от какого-то процесса, и преобразование информации в DateTime становится невозможным. Мы докопались до истоков одного случая: проблема была связана с определенной настройкой в Adaptec SCSI BIOS. Когда клиент возвращался к настройкам производителя по умолчанию на обоих каналах SCSI BIOS, это решало проблему. Однако это решение может и не быть эффективным во всех случаях. В Visual Studio 2005 (Whidbey) мы используем API Win32 для получения информации о процессе и времени потока, поэтому пользователям не придется столкнуться с этим исключением в будущем.


    Для связи [Mail]
    • Перемещено Tagore Bandlamudi 3 октября 2010 г. 1:05 MSDN Forums consolidation (От:Форум по .NET Framework)
    18 февраля 2010 г. 11:38
    Модератор