2011-06-29 13 views
5

Tengo el servicio .NET (C#) que usa un par de bibliotecas de C++. Tengo una necesidad desesperada de acceder a los métodos de C++, pero cuando configuro los puntos de interrupción se desactivan en el tiempo de ejecución.Depuración de problemas Código de C++ desde la aplicación .NET

¿Dónde mirar?

Configuré "Adjuntar depurador" en la configuración del proyecto C++, pero esto no parece cambiar un poco.

Por favor consejo. ¿Dónde mirar?

Las bibliotecas son quickfix engine si a alguien le importa.

Respuesta

9

Es necesario enable unmanaged code debugging para su proyecto. Para hacer esto:

  1. Haga clic derecho en su proyecto en el Explorador de soluciones, y haga clic en "Propiedades".
  2. En la pestaña "Depurar", marque la casilla etiquetada "Habilitar la depuración del código no administrado".

     

Por defecto, un proyecto destinado a .NET Framework será solamente de depuración de código administrado. Tienes que decirle explícitamente que quieres depurar el código no administrado.

Si eso no soluciona el problema, asegúrese también de que la configuración "Habilitar simplemente mi código" no esté activada en la configuración de depuración que se encuentra en el cuadro de diálogo Opciones.


no funciona cuando hay que adjuntar a procesar. Solo funciona cuando corro desde el estudio

Correcto. Cuando se conecta a un proceso, su proyecto no se carga [necesariamente] y Visual Studio no presta atención a su configuración.

En esta situación, debe configurar las opciones adecuadas en el cuadro de diálogo "Adjuntar al proceso". Para ello:

  1. Haga clic en el botón "Seleccionar ..." al final de la línea denominada "Adjuntar a:".
  2. En el cuadro de diálogo que aparece, asegúrese de que esté marcado "Nativo", además de la versión apropiada del código "Administrado".

         

+0

¿Te refieres proyecto de aplicación principal (donde se encuentra Principal())? –

+1

@ Capitán: No estoy muy seguro de lo que estás preguntando. Debe habilitar esto para su proyecto de ** inicio **. Supongo que esa es la aplicación .NET. –

+0

Correcto, lo estoy probando en este momento .. –

2

Ir a Project Properties ->Debug -> y ajuste la casilla

Enable unmanaged code debugging

HTH

Cuestiones relacionadas