代码之家  ›  专栏  ›  技术社区  ›  flatline

如何在VS2010中调试已发布的XBAP文件?

  •  5
  • flatline  · 技术社区  · 14 年前

    我需要通过指定一个URL来调试一个完全信任的应用程序,或者理想情况下,从我打算部署它的Web应用程序中调试它。我试过以下方法:

    • 从命令行运行“presentationhost.exe-embedding”,通过Visual Studio附加。IDE显示我的断点是有效的,直到我实际尝试加载.xbap文件,此时它显示没有加载符号。没有一个断点被命中。我已经尝试过“法师-CC”之前,根据其他地方的一些建议。

    • 在项目的调试面板中硬编码的URL,然后是F5。或者,“presentationhost.exe-embedding-debug”和“attach to process”,然后在IE中加载.xbap。这两种方法都会在页面出现时导致以下错误:

    System.ArgumentException:不支持URI格式。

       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(...)
    
    2 回复  |  直到 12 年前
        1
  •  4
  •   flatline    14 年前

    找到它了。如果您选择要发布的.pdb文件(默认情况下不是该文件),则“presentationhost.exe-embedding”将起作用。这是从我之前看到的,当应用程序实际加载时,调试程序似乎有符号,而不是。澄清:

    • 转到项目属性上的“发布”选项卡
    • 单击“应用程序文件…”
    • 选中“显示所有文件”
    • 为要包含的可执行文件选择.pdb文件。
    • 再版
    • presentationhost.exe-嵌入
    • 附加到进程或将项目设置为从“调试”选项卡中运行此项
    • 在浏览器中启动网页并导航到XBAP文件,现在应该点击断点。
        2
  •  2
  •   Grzegorz W    12 年前

    如果您有权访问源代码并部署在本地主机上,那么只需添加 System.Diagnostics.Debugger.Launch(); 在您的代码中。这将允许您将vs附加到XBAP正在使用的任何进程。

    推荐文章