应用程序很少在调试模式下完成加载,但"run without debug"加载正常


  • F5->在随机点处停滞

  • Ctrl-F5->立即加载。这意味着我必须"依附"进程"进行调试。

如果我想更改代码并立即反映出来,这会很烦人。

这与加载符号源有关吗?我试过在正常调试模式下运行时暂停应用程序,但每次都会在不同的地方暂停。

编辑:我所说的暂停是指应用程序被冻结(带有进度条的启动表单在加载几秒钟后变得没有响应)。如果我点击暂停,主线程的位置永远不会一致。它最终会在某个时间点后完成加载,这表明它正在等待某个东西,尽管这个等待期似乎也会改变。

未选中Microsoft pdb的符号服务器。未选中已启用的.NET Framework源步进。选中"仅启用我的代码"。未选中已启用的源服务器支持。

一个已知但偶发的问题,自Visual Studio 2005以来已有很长的历史。该问题影响多线程应用程序,这些应用程序通过完成回调执行某些I/O操作。我的个人收据来解决这个问题:

  • 开发人员计算机应至少有2个CPU核心
  • 从"断点"窗口中删除所有断点。有时过时的会导致调试器的无限循环
  • 在程序的最开始设置一个断点,最好是在主函数处。如果您有一个主窗体,那么您可以尝试在其构造函数的第一行设置断点。不要删除该断点,否则调试器将再次挂起,您需要重新设置它。是的,断点似乎毫无用处,但它有助于调试器保持良好状态
  • 如果上面的建议没有帮助,那么如果应用程序是无窗口的,请尝试在程序的一开始调用System.Window.Forms.MessageBox.Show("123")。您也可以尝试在Show方法上或之后设置断点

最新更新