2010-04-15 10 views
5

Estoy intentando entrar en un método al que se hace referencia en un dll externo desde un dll de servicio web C#. Estoy desarrollando el código del servicio web y puedo acceder desde mi aplicación Winforms. El dll al que trato de acceder desde el servicio web fue desarrollado por otra persona, y tengo los archivos dll y pdb. Cuando trato de entrar en él obtengo el siguiente mensaje:Problema de depuración de C#: no se cargan símbolos para ningún marco de pila de llamadas

'No se cargan símbolos para ningún marco de pila de llamadas. El código fuente no se puede mostrar '.

Aquí es mi proyecto de instalación:

  • .NET 3.5, VS 2008 Professional, IIS 7 se ejecuta en Vista Ultimate
  • aplicación WinForms WF1.exe, haciendo referencia a un servicio DLL WS1.dll web, en la solución 1 en mi máquina
  • base de datos Access DLL DA1.dll compilado por otro desarrollador, referenciado por WS1.dll
  • DA1.dll y DA1.pdb archivos que se encuentran en el directorio raíz del proyecto de servicio web WS1
  • WS1 servicio web co Mpiled y publicado en mis archivos IIS, DA1.dll y DA1.pdb locales se copian en el directorio IIS WS1 bin

Hasta ahora todo va bien y todo funciona hasta cierto punto. Rompo y paso a WF1.exe, luego rompo y paso a un método en WS1.dll sin problemas. Sin embargo, cuando trato de entrar en un método en DA1.dll, se produce el error. Cualquier ayuda apreciada.

(también significó que decir I adjunto al proceso WebDev.WebServer.EXE para tratar de entrar en DA1)

Cheers,

Ciaran

+0

¿Ha eliminado la casilla de verificación de la configuración del depurador "Habilitar simplemente mi código"? Si no, vaya a Herramientas -> Opciones. En la página General, desmarque la casilla de verificación "Habilitar solo mi código (solo administrado)" y presione aceptar. Vuelva a intentarlo. – Ikaso

+0

Ok, eliminé la configuración "Habilitar solo mi código". Después de volver a ejecutar, sucedieron algunas cosas extrañas: me solicitaron una pantalla de licencia de acuerdo final de usuario de .NET con Aceptar/Rechazar. Una vez que acepté esto, continuó. Luego, cuando intenté entrar en la línea DA1, se abrió un cuadro de diálogo que me pedía el archivo .cs asociado con el método en el que estaba ingresando. Lo ejecuté por segunda vez y ninguno de los anteriores ocurrió. Cuando traté de ingresar al método DA1, obtuve 'No hay código fuente disponible para la ubicación actual' –

Respuesta

6

Cuando está depurando puede cargar símbolos para un DLL yendo a Depurar -> Windows -> Módulos

Haga clic derecho en el archivo DLL correspondiente y seleccione Símbolos carga desde -> Símbolo Ruta

Si continúa teniendo problemas con esto y solo quiere ver lo que sucede debajo del capó, podría abrir el dll en Reflector.

+1

Lo hice y el dll está en la lista, pero dice que los símbolos están cargados. De todos modos, agregué la ruta de forma manual, pero sigo obteniendo 'No hay código fuente disponible para la ubicación actual' cuando intento ingresar al método –

+0

¿Está recibiendo una excepción de la DLL de terceros? si es así, ¿te da números de línea? –

+0

Sí, la excepción es cuando intento ingresar al método en DA1.dll externo. No da números de línea solo el mensaje de código fuente no. –

Cuestiones relacionadas