【问题标题】:Debug Visual Studio Designer调试 Visual Studio 设计器
【发布时间】:2015-04-27 07:35:54
【问题描述】:

我在打开 Visual Studio 设计器时遇到异常。

您可以找到完整的堆栈跟踪here

我已经问过question,我解释说从 XAML 传递到 Designer 时发生了崩溃。

answer 建议使用 Visual Studio 的第二个实例来调试设计器。

我尝试了以下方法:

  • 打开第二个 Visual Studio 实例,附加 devenv.exe 进程,在 InitializeComponent 上放置断点(由我的 RadWindow 的构造函数调用)。
  • 转到 Visual Studio 的第一个实例,打开设计器。

什么也没发生(即没有到达断点)。您知道如何进行调试吗?

提前谢谢你。

【问题讨论】:

  • 阅读过that 的文章吗?
  • @sszarek 是的,我将进程应用到了我的窗口,但它什么也没做。

标签: c# wpf visual-studio-2010 xaml


【解决方案1】:

你的方法是正确的。对于 Visual Studio 2010 附加到 devnev.exe,Visual Studio 2012 及更高版本附加到 XDesProc.exe

方法:

  1. 使用相同的解决方案打开第二个 Visual Studio。
  2. 在第二个 VS 中设置断点
  3. 内置

  4. (VS2012 及更高版本): 在任务管理器中,结束进程XDesProc.exe。 (否则有时会使用缓存的构建,并且不会命中断点)

  5. (VS2012 及更高版本): 在第一个 VS 实例中打开一些 xaml 文档(不是您要调试的那个)。新的XDesProc.exe 已启动。
  6. 在第二个VS实例中,附加到新启动的。XDesProc.exe / devenv.exe
  7. 在第一个 VS 中打开要调试的 xaml 文档。
  8. 断点命中!

注意:断点应该是红色的,以表明它们处于活动状态。如果不是,则构建正在运行,并且加载的调试文件不匹配。如果是,请结束调试,结束XDesProc.exe,重新构建并重试。

【讨论】:

  • 感谢您的回答。我没有任何XDesProc.exe 进程正在运行,即使在设计器打开时也是如此。
  • 哦,没看到你用的是VS2010。在 VS2013 中它是 XDesProc。请稍等,我会更正 VS2010。
  • 对不起,我刚刚卸载了VS2010,所以需要重新安装,以便能够提供帮助。对于 VS2010,它应该是相同的过程,除了您附加到 devnev.exe 而不是 XDesProc.exe。尝试关闭所有打开的设计器文件,重新构建、附加,然后打开文件。这是论坛中的一个已知问题:How to troubleshoot and debug Visual Studio design mode errors?
  • 我做了确切的过程,但它什么也没做。我错过了什么吗?我将断点放在我的 RadWindow 构造函数的开头。
  • 它是红色的。我找到了一个解决断点问题的答案,但没有解决组件的标识:stackoverflow.com/a/29890506/4384927
猜你喜欢
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多