Entrar en una llamada P / Invocar en vista de desmontaje

Mi código de C # está llamando a una función de biblioteca de terceros no administrada a través de P / Invoke, y la función no administrada está teniendo algunos efectos secundarios extraños. Quiero depurar en él y ver qué está haciendo.

Si depuro mi código C # y trato de "Entrar" en la llamada P / Invoke, en lugar de eso, pasa por encima. No es de extrañar que lo haya esperado; no tiene la fuente para esta DLL, y no le dije que estaba bien al ver la vista de desmontaje.

Así que cambio el depurador a la vista de desmontaje (Depurar> Windows> Desensamblar). Ahora veo las instrucciones individuales de x86 en mi código JITted. De nuevo trato de entrar en la llamada P / Invoke. Una vez más, pasa por alto en vez de hacerlo, aunque claramente le dije que ingresara en una instrucción CALL de x86. ¿Qué tan difícil es entrar en una LLAMADA x86?

Mi búsqueda de Google hasta ahora me ha mostrado un par de opciones que pueden afectar esto, y ya las he configurado:

En Herramientas> Opciones> Depuración> General, la opción "Habilitar solo mi código" no está marcada.En Proyecto> Propiedades> pestaña Depurar, se marca "Habilitar depuración de código no administrado".

No es bueno. Visual Studio todavía se niega a intervenir.

No tengo un PDB para la DLL de terceros, pero eso no debería importar. No me importa el código fuente o la información de símbolos. (Bueno, en realidad serían muy agradables, pero ya sé que no los conseguiré). Visual Studio puede hacer la depuración de x86 (eso es lo que la vista de Desmontaje espara), y todo lo que quiero hacer es entrar en el código x86.

¿Qué más debo hacer para que VS me permita ingresar a las instrucciones x86 dentro de una llamada P / Invoke?

Respuestas a la pregunta(4)

Su respuesta a la pregunta