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

时间:2014-07-10 21:52:40

标签: mvvm visual-studio-2013 expression-blend visual-studio-debugging

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

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

在之前的项目中,我在Visual Studio中打开了相同的项目,并完成了“Debug - Attach Process”到Blend。

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

  

断点当前不会被击中。没有加载任何符号   对于本文件

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

TIA

Pat Long

2 个答案:

答案 0 :(得分:4)

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

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

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

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

然后它会调试。乌拉!

答案 1 :(得分:1)

另一种可能性......

确保您拥有"启用/禁用项目代码"切换设置为"启用" ...在VS / Blend 2015中,它是XAML编辑器下方的一个小图标 as shown here

如果它被禁用,这可能是您的设计时间实例似乎无法正常工作的原因。

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

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

BTW,James McNellis on one of those related questions对此调试程序有很好的描述。