How can I debug at design time?

强颜欢笑 提交于 2021-02-06 10:01:10

问题


I created a custom ListView with a UserControl. When the mouse enters the ColumnHeader it should change color at design time.

It works, but I need to debug code. How can I debug code at design time?

Example image


回答1:


See Walkthrough: Debugging Custom Windows Forms Controls at Design Time (MSDN).

Or in a shorter way to do it just once:

  • Start Visual Studio twice with the same solution.
  • The first with an opened designer of your control, the second to attach by using menu ToolsAttach to Process → the other devenv.exe (Visual Studio)



回答2:


Kelon's answer is correct for Windows Forms, but not for XAML.

In Visual Studio 2012 and later, the XAML designer runs in its own process outside Visual Studio (devenv.exe). To debug XAML controls at design time you need to attach the second instance of Visual Studio to 'XDesProc.exe' (Xaml Designer Process).

Detailed instructions:

  • Open Visual Studio with the solution containing your XAML to be debugged
  • Open any XAML file (so XDesProc will start)
  • Make a note of the XDesProc.exe process ID using: menu ToolsAttach to Process, scroll down and note the process ID. (Do not actually attach or Visual Studio will hang.)
  • Close the XAML file
  • Open a second instance of Visual Studio with the same solution
  • Menu ToolsAttach to Process, and attach to the XDesProc process you noted above

  • If you are debugging an exception, menu DebugWindowsException Settings, Common Language Runtime Exceptions → checked

  • Go back to the first instance and re-open the XAML file.

  • The second instance of Visual Studio will break at the exception
  • You can also set breakpoints in the second instance
  • To recompile after you have fixed the bug you must stop debugging
  • To debug again you can save time by doing menu DebugReattach to process, which attaches to the same XDesProc.exe as before.



来源:https://stackoverflow.com/questions/6464716/how-can-i-debug-at-design-time

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!