Tengo una aplicación de audio WPF.NullReferenceException, sin seguimiento de pila ... ¿por dónde empezar?
Ocasionalmente (e incluso en el depurador) veo un NullReferenceException
que no contiene información de rastreo de pila.
¿Cómo se puede comenzar a depurar este problema?
Algunos antecedentes:
estoy P/Invocación de funciones en WinMM.dll
que implica el registro de un callback al llamar waveOutOpen
[DllImport("winmm.dll")]
public static extern MmResult waveOutOpen(out IntPtr phwo, IntPtr uDeviceID, WaveFmt pwfx, WaveCallbk dwCallback, IntPtr dwInstance, int fdwOpen);
Esto ha demostrado ser difícil de conseguir estable, especialmente en el punto en que llamo waveOutClose
, e inmediatamente llame al waveOutOpen
nuevamente (generalmente para cambiar el formato de salida).
Sospecho que el problema puede estar relacionado con las llamadas que he descrito anteriormente (aunque con tan poco conocimiento, podría estar completamente fuera de mi objetivo).
La reproducción del problema está demostrando ser evasiva, aunque puedo proporcionarle una compilación a un usuario que constantemente ve este problema. Podría tratar de acelerar las operaciones que están causando el problema hasta el punto de reproducir el problema en el depurador con más certeza.
Con respecto al depurador, no he modificado con ninguna de las configuraciones (incluyendo Enable unmanaged code debugging
) ni ninguna de las configuraciones Debug -> Exceptions...
. Para ser sincero, no tengo ni idea de lo que se ofrece aquí, así que cualquier pista es bienvenida.
¿Cómo podría una excepción no tener un seguimiento de pila? ¿Habías visto esto antes? ¡Ayuda!
Sí, este tipo de cosas sucede a menudo cuando se trabaja con código no administrado. Y es un PITA total. Personalmente, me encantaría tener una lista de verificación de las cosas por las que pasar. – briantyler
Una lista de verificación sería tremendamente útil. ¿Nadie? – spender