2010-09-21 4 views
2

У меня есть приложение VB.NET, которое сбой на компьютере клиента с ошибкой BSOD ... KERNEL_DATA_INPAGE_ERROR.BSOD во время воспроизведения звукового ресурса

Эта ошибка возникает в момент, когда моя программа делает две вещи:

  • запирает компьютер
  • играет звук в режиме BackgroundLoop

Для блокировки рабочей станции, я просто используя это:

<DllImport("user32")> _ 
Public Shared Sub LockWorkStation() 
End Sub 

Для воспроизведения звука, я делаю это:

My.Computer.Audio.Play(My.Resources.ResourceManager.GetStream("somesound"), AudioPlayMode.BackgroundLoop) 

Теперь звук звучит до тех пор, пока пользователь не войдет в систему. Мое программное обеспечение обнаруживает переключатель состояния сеанса и прекращает воспроизведение звука. Иногда, когда я заходил в систему, звуковая карта воспроизводит данные мусора за долю секунды, а не остальную часть звукового буфера. У меня создается впечатление, что это имеет какое-то отношение к переключению сеанса.

Может ли у моего клиента возникнуть проблема, когда происходит повреждение памяти в момент блокировки компьютера?

Прошу прощения за неопределенность этого сообщения ... Я не знаю, с чего начать, поскольку я не могу воспроизвести проблему самостоятельно.

Редактировать: Если звук остается воспроизводиться сам по себе, даже без блокировки компьютера, в конечном итоге компьютер закроется, а затем появится экран bluescreen. Воспроизведение звука при одновременном блокировке приводит к тому, что это произойдет раньше.

Редактировать # 2: Итак, я видел, как он терпит неудачу. Звуковой контур начинает правильно воспроизводиться, но быстро переключается на цикл обработки данных мусора. Это похоже на то, что он просто читает случайное местоположение в памяти и зацикливает это. Очень странное поведение!

Решено !: Это было аппаратное обеспечение после всего. По-видимому, у этой конкретной модели ноутбука есть проблема, когда динамик установлен прямо на жестком диске. При громком звуке он создает всевозможные проблемы.

+0

Это он только на одном компьютере? или все клиентские? –

+0

В настоящее время существует только один тест для работы с XP. Я сам тестировал его на 6 машинах и не могу воспроизвести ошибку. Все они запускают ту же версию XP, SP3, что и мой клиент. – Brad

+0

Итак, авария происходит, когда вы пытаетесь отменить звук? Это никогда не происходит, когда рабочая станция заблокирована и звук зацикливается? Сбой, если вы сделаете это без предварительной блокировки рабочей станции? –

ответ

4

Синий экран почти наверняка связан с дефектным оборудованием или драйверами. Softwarewise, вы действительно не можете сделать этого, кроме как объединить обходной путь.

Вы можете perform a memory dump и попытаться определить, что конкретно пошло не так, или с помощью некоторой умной отладки, увидеть, где он бомбит, чтобы попытаться избежать этого.

В противном случае вы, вероятно, говорите о выполнении некоторых работ по техническому обслуживанию на рассматриваемой машине.

+0

Вот что я всегда говорил, но, к сожалению, мое программное обеспечение - единственное, что рушится на этой машине. Другая проблема в том, что ... Я пробовал все эти функции отдельно в другой программе, и это не сбой. Это заставило меня поверить в плохую оперативную память, но это похоже на часовой механизм в этой программе. Я благодарю вас за ваши предложения! Вы подтвердили, о чем я думал. – Brad

+0

Ничего себе. Weird. Теперь я начинаю колебаться. Я не могу себе представить, что плохая RAM заставит его умереть каждый раз. Для меня это похоже на проблему с драйвером, но я не знаком с кодами BSOD. Тем не менее, [Technet states] (http://technet.microsoft.com/en-us/library/cc957628.aspx): «Это сообщение« Стоп »обычно вызвано плохим блоком (сектором) в файле подкачки, вирусом, ошибка контроллера диска или отказ в работе ОЗУ ». –

Смежные вопросы