【问题标题】:How can I debug at design time?如何在设计时进行调试?
【发布时间】:2011-09-21 19:47:39
【问题描述】:

我创建了一个带有 UserControl 的自定义 ListView。当鼠标进入 ColumnHeader 时,它应该在设计时改变颜色。

它可以工作,但我需要调试代码。如何在设计时调试代码?

【问题讨论】:

    标签: c# debugging user-controls


    【解决方案1】:

    请参阅 Walkthrough: Debugging Custom Windows Forms Controls at Design Time (MSDN)。

    或者以更短的方式只做一次:

    • 使用相同的解决方案启动 Visual Studio 两次。
    • 第一个带有打开的控件设计器,第二个通过使用菜单 Tools附加到进程 → 另一个 devenv.exe (Visual Studio) 进行附加

    【讨论】:

    【解决方案2】:

    Kelon's answer 适用于 Windows 窗体,但不适用于 XAML。

    在 Visual Studio 2012 及更高版本中,XAML 设计器在 Visual Studio (devenv.exe) 之外的自己的进程中运行。要在设计时调试 XAML 控件,您需要将 Visual Studio 的第二个实例附加到“XDesProc.exe”(Xaml 设计器进程)。

    详细说明:

    • 使用包含要调试的 XAML 的解决方案打开 Visual Studio
    • 打开任何 XAML 文件(这样 XDesProc 就会启动)
    • 使用以下方法记下 XDesProc.exe 进程 ID:菜单 工具附加到进程,向下滚动并记下进程 ID。 (实际上不要附加,否则 Visual Studio 会挂起。)
    • 关闭 XAML 文件
    • 使用相同的解决方案打开第二个 Visual Studio 实例
    • 菜单工具附加到进程,并附加到你上面提到的XDesProc进程

    • 如果您正在调试异常,菜单调试Windows异常设置公共语言运行时异常 → 勾选

    • 返回第一个实例并重新打开 XAML 文件。

    • Visual Studio 的第二个实例将在异常时中断
    • 也可以在第二个实例中设置断点
    • 要在修复错误后重新编译,您必须停止调试
    • 要再次调试,您可以通过执行菜单 Debug重新附加到进程来节省时间,该菜单与以前一样附加到相同的 XDesProc.exe。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 2018-08-11
      • 1970-01-01
      • 2019-01-31
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多