
Good Way to Debug Visual Studio Designer Errors有没有在Visual Studio Designer中调试错误的好方法? 在我们的项目中,我们有大量的UserControls和许多复杂的表单。 对于复杂的异常,设计器经常会抛出各种异常,但并没有多大帮助,我想知道是否有某种很好的方法来找出问题所在。 语言是C#,我们正在使用Visual Studio 2005。 通过运行第二个VS实例,我已经能够调试一些控件设计器问题,然后从您的第一个VS实例中执行"调试->附加到进程"并选择" devenv"。 在第一个VS实例中,您将在其中设置断点。使用第二个实例来加载设计器,以使"设计器"代码运行。 请参阅调试设计时控件(MSDN)。
在2005年一直是痛苦的一年,在2015年仍然如此。断点通常不会出现,这可能是因为程序集被影子复制或由设计人员(?)进行了某些操作。最好的办法是通过引入对
我发现了为什么有时没有命中断点的原因。在"附加到进程"对话框中,"附加到:"类型必须为"选择..."。 一旦我更改为" Managed 4.0,4.5",就会遇到WinRT应用程序的断点。资料来源:WinRT中的Designer调试。 我已经发生过很多次了,这确实是一个痛苦。 首先,我建议尝试遵循设计者提供的堆栈跟踪,尽管我发现通常只是列出一堆用处不大的内部东西。 如果那不起作用,则尝试从那里编译并确定异常。你真的是瞎子了,这就是问题所在。然后,您可以尝试简单地运行代码,并查看运行它时引发了什么异常,这将为您提供更多信息。 最后的办法可能是从表单中删除所有未生成的代码,然后逐步重新引入它以确定错误。 如果您使用的是自定义控件,那么如果先前的方法仍然会导致错误,那么您也可以手动删除与自定义控件相关的生成代码。然后,您可以以相同的方式重新引入此逐步步骤,以确定哪个自定义控件导致了问题,然后分别进行调试。 就我所知,基本上来说,除了一点点解决之外,没有其他解决方法! 您可以运行VS的第二个实例,并将其附加到VS的第一个实例(Ctrl + Alt + P)。在第一个实例中设置断点,在第二个实例中运行设计器,然后断点将触发。您可以单步执行代码,但是"编辑并继续"将不起作用。 为了使"编辑并继续"正常工作,请设置控件库的调试选项以运行VS,并以命令行参数作为解决方案文件名。然后,您可以简单地设置断点并按F5。它将像用户代码一样进行调试!附带说明,您也可以同时执行VS和Office加载项。 每个人都是不同的,有时它们可??能是晦涩的。第一步,我将执行以下操作:
|