NullReferenceException, нет трассировки стека... с чего начать?
У меня есть приложение WPF audio.
Иногда (и даже в отладчике) я вижу NullReferenceException
, который не несет с собой никакой информации о трассировке стека.
Как можно начать отладку такой проблемы?
Некоторые предпосылки:
Я вызываю функции в WinMM.dll
, Что включает регистрацию обратного вызова при вызове waveOutOpen
[DllImport("winmm.dll")]
public static extern MmResult waveOutOpen(out IntPtr phwo, IntPtr uDeviceID, WaveFmt pwfx, WaveCallbk dwCallback, IntPtr dwInstance, int fdwOpen);
Это оказалось трудно получить стабильным, особенно в точке, где я вызываю waveOutClose
, и немедленно вызываю waveOutOpen
снова (обычно для изменения формата вывода).
Воспроизведение проблемы в настоящее время оказывается неуловимым, хотя я могу предоставить сборку пользователю, который довольно последовательно видит эту проблему. Я мог бы попытаться ускорить операции, вызывающие проблему, до такой степени, что воспроизведение проблемы в отладчике будет более эффективным. уверенность.
Что касается отладчика, я не возился ни с одной из настроек (включаяEnable unmanaged code debugging
), ни с одной из настроек Debug -> Exceptions...
. Честно говоря, я понятия не имею о том, что здесь предлагается, поэтому любые намеки приветствуются.
Как исключение может не иметь трассировки стека? Вы видели это раньше? Помогите!