我对调试感到非常沮丧,但也许我只是做错了。
当我正在积极开发时,编写一些代码非常麻烦,启动调试器来测试所述代码,等待一分钟让调试器启动,查看浏览器中的页面,停止调试器,编辑代码,冲洗,起泡,重复。
我可以通过在开发过程中使用CTRL-F5和CTRL-SHIFT-B来解决这个问题,但是我失去了调试器的所有好处。
有没有更好的方法来使用调试器,或者我可以做些什么来快速重建和使用调试器?
谢谢,
凯尔
P.S。我/我们会编写单元测试,但您还需要在浏览器中测试您的应用程序,所以请不要“如果您的单元测试写得正确,就不会有这个问题。”评论;)
更新
感谢“获得更好的机器”的建议。我不能做那么多。大量的RAM和英特尔SSD。我不需要超过2500美元的机器来编写Web应用程序。
答案 0 :(得分:5)
你应该看一下这篇文章(由Scott Guthrie发推):
在不做任何努力的情况下大幅削减ASP.NET编译/加载时间 http://blog.lavablast.com/post/2010/12/01/Slash-your-ASPNET-compileload-time.aspx
<compilation ... tempDirectory="q:\temp\iistemp\"> ... </compilation>
<compilation ... batch="false"> ...</compilation>
<compilation ... optimizeCompilations="true"> ... </compilation>
答案 1 :(得分:5)
调试次数较少:如果要停止调试器更改值或测试不同的方案,则不要。在调试时,您可以使用QuickWatch
或Immediate Window
更改变量的值。
降低调试成本:关闭批处理会使您的页面首次加载速度更快,因为它将不再预编译您的所有页面和用户控件。如果您经常进行更改,这对开发有利。
<compilation ... batch="false"> ...</compilation>
答案 2 :(得分:3)
获取SSD和船载RAM。
答案 3 :(得分:2)
您可能需要的不是调试速度更快,而是减少需要调试的次数。也许更自由的Debug。*或跟踪日志记录方法会有所帮助。
@Kyle West - 嗯......有很多不同的方法可以解决它。最适合我的方法是使用MS Enterprise Library Logging应用程序块(main site)将事件记录到滚动的每日文件中。只需编辑.config文件,就可以将日志级别提升(详细详细信息)或向下(仅限例外)。
app块中有很多,所以我们创建了一个围绕日志记录调用的包装器,以便我们可以更轻松地进行重要的调用。例如,
DebugEvent.Log(String.Format("the value of _myVariable is {0}", _myVariable))
InfoEvent.Log("Reached the entry to the gatesOfHell method")
ExceptionEvent.Log(ex)
关于EL的好处是你可以在不必更改代码的情况下更改配置。因此,如果您想要登录事件日志甚至是电子邮件,只需几行配置即可。
您也可以替换任何其他记录器(log4Net等),或以对您有用的方式使用内置的Debug或Trace。
声明“我真的只想看到任何不会影响用户界面的例外情况。”有点令人担忧,并暗示吞咽异常或一些类似的不良做法正在发生。 (这是roosters的另一个桶,可能是你必须调试的原因)。
答案 4 :(得分:0)
嗯,有像Watin之类的工具可以让你编写浏览器互动脚本,但我认为这不是你想要的。
我想这里的答案是“获得更快的机器”......