首页 文章

从Visual Studio调试混合 . 没有加载符号

提问于
浏览
4

我正在尝试使用Expression Blend 2013中的DesignTime运行的一些代码调试问题 .

我有一个在Blend中加载的Windows应用商店(8.1)项目 . 我想调试一些在Blend设计器中运行的ViewModel代码 .

在以前的项目中,我在Visual Studio中打开了相同的项目,并对Blend进行了“Debug - Attach Process” .

我在当前开发机器上看到的问题是所有断点都是无效的 . 他们显示警告

断点当前不会被击中 . 没有为此文档加载任何符号

如果我只是调试 - 在Visual Studio中启动并部署到模拟器,这些断点运行正常 . 为什么Blend不允许我附加和调试?

TIA

帕特龙

2 回答

  • 4

    另一种可能......

    确保在VS / Blend 2015中将"Enable/Disable Project Code"切换设置为"enabled" ...它是XAML编辑器下面的一个小图标as shown here .

    如果它被禁用,这可能是您的设计时间实例似乎不起作用的原因 .

    此外,如果它被禁用并且您尝试使用第二个VS实例进行调试,那么当您附加到XDesProc时,您在代码隐藏中设置的任何断点都会报告它们“当前不会被命中 . [因为]没有符号加载此文档“ . 您可能认为您需要以某种方式加载符号,但如果您打开模块窗口尝试这样做,您甚至不会在列表中看到您的模块 .

    由于此设置被禁用,我在此问题上丢失了几个小时 . 希望这有助于其他人不这样做 . 因此,我将在一些相关问题上发布此内容 .

    顺便说一句,詹姆斯·麦克纳利斯(James McNellis)对这个调试程序有一个很好的描述on one of those related questions .

  • 1

    我需要调试一个不同的进程 . 虽然在过去它已附加到Blend.exe for Windows Store Apps,但这不起作用 .

    从sysinternals使用Proc Explorer后,我能够搜索我的dll . 这表明它们是由一个名为xdesproc.exe的进程加载的 .

    该过程在Visual Studio的“附加到进程”中列为x86,没有托管代码 . 当我没有附加任何东西时 .

    然后我从“自动”更改了“附加到:”设置,以明确说明调试这些代码类型“托管(v4.5,v4.0)” .

    然后它会调试 . 欢呼!

相关问题