如何调试Visual Studio 2012实例设计时

Ser*_*usM 14 wpf design-time markup-extensions visual-studio visual-studio-debugging

我正在开发WPF MarkupExtension并在设计时遇到错误.使用以前版本的Visual Studio 2010,可以启动Visual Studio 2010的第二个实例并附加到已运行实例的进程,设置断点并调试设计时行为.

但是在Visual Studio 2012中,我也可以附加到另一个Visual Studio 2012的进程,但是在第二个实例中没有加载符号,因此我无法像使用Visual Studio 2010那样调试设计时间.

如何运行此调试器?

我试过的事情:

  • "devenv.exe/RootSuffix Exp"技巧没有成功
  • 始终以管理员身份执行
  • 加载所有或默认符号
  • 使用和不使用本机代码进行调试(附加进程)
  • 使用和不使用.NET 4代码进行调试(附加进程)

Nil*_*han 14

在Visual Studio 2012中,WPF设计器在单独的进程中运行.尝试摆弄这个过程.应该很容易找到进程名称.

  • 非常感谢你!该过程称为XDesProc,它是使用每个新的预览窗口创建的.因此:要调试预览窗口,使用相同的解决方案打开vs2012的第二个实例,设置断点并附加到XDesProc.建议只打开一个预览窗口以附加到正确的进程.否则使用Process Explorer(sysinternals.com)查找正确的进程. (13认同)
  • 请详细说明"摆弄这个过程"的含义. (2认同)
  • @SeriousM我建议您发表评论作为答案. (2认同)

Ser*_*usM 8

该过程称为XDesProc,它是使用每个新的预览窗口创建的.因此:要调试预览窗口,使用相同的解决方案打开Visual Studio 2012的第二个实例,设置断点并附加到XDesProc.建议只打开一个预览窗口以附加到正确的过程.否则,请使用Process Explorer查找正确的进程.