2010-09-10 12 views
5

Necesito depurar una aplicación de plena confianza ya sea especificando una URL o, idealmente, desde dentro de la aplicación web con la que pretendo implementarla. He intentado lo siguiente:¿Cómo depuro un archivo XBAP publicado en VS2010?

  • Running "PresentationHost.exe -embedding" de la línea de comandos, adjuntando a través de Visual Studio. El IDE muestra que mis puntos de interrupción son válidos hasta que realmente intento cargar el archivo .xbap, en cuyo punto se muestra que no hay símbolos cargados. Ninguno de mis puntos de quiebre es golpeado. He intentado "mage -cc" antes de hacer esto según varias recomendaciones en otros lugares.

  • URL codificada en el panel Depurar del proyecto y luego en F5. Alternativamente, "PresentationHost.exe -embedding -debug" y adjuntarlo al proceso carga el .xbap en IE. Ambos resultan en el siguiente error cuando la página aparece:

System.ArgumentException: URI formatos no son compatibles.

at System.IO.Path.NormalizePath(...) 
    at System.IO.FileStream.Init(...) 
    at System.IO.FileStream..ctor(...) 
    at System.Windows.Interop.ApplicationLauncherXappDebug.GetIdFromManifest(...) 
    at System.Windows.Interop.ApplicationLauncherXappDebug.GetApplicationIdentity() 
    at System.Windows.Interop.ApplicationLauncherXappDebug.Initialize() 
    at System.Windows.Interop.DocObjHost.MS.Internal.AppModel.IBrowserHostServices.Run(...) 

Respuesta

4

encontrado. El "PresentationHost.exe -embedding" funcionará, siempre que seleccione el archivo .pdb que se publicará, que no es por defecto. Esto se sigue de lo que vi antes, donde el depurador parecía tener símbolos, entonces no, una vez que la aplicación se cargó realmente. Para aclarar:

  • Ir a la pestaña Publicar en las propiedades del proyecto
  • Haga clic en "archivos de la aplicación ..."
  • de verificación "Mostrar todos los archivos"
  • Seleccione el archivo .pdb para el ejecutable a ser incluido.
  • Republish
  • PresentationHost.exe -embedding
  • conectar con el proceso o establecer el proyecto para ejecutar esta fuera de la pestaña de depuración
  • lanzamiento de la página web en un navegador y vaya al archivo de XBAP, los puntos de corte deben estar golpear ahora
+0

Gracias, pero podría explicar lo que quiere decir con 'PresentationHost.exe -embedding' Tengo un winform envuelto en el xbap y puede adjuntar, pero no puedo golpear breakpoitns ... – Pogrindis

2

Si tiene acceso al código fuente y lo implementa en localhost, simplemente puede agregar System.Diagnostics.Debugger.Launch(); en su código. Esto le permitirá conectarse con VS a cualquier proceso que su XBAP esté usando.

Cuestiones relacionadas