什么是你最喜欢的虚拟线来突破点?

Hao*_*est 23 debugging

我们中很少有人会否认调试器的强大功能,但为了使它更有用,可以使用一些技巧.

例如在Python中,你可以使用pass来做任何事情,除了让你有空间放置一个断点并允许你观察Watch窗口中的值.

在C#中,我曾经做GC.Collect(),但现在我使用if(false){}

你最有趣的虚拟线是什么?

Fly*_*wat 31

在C#中,您可以使用:

System.Diagnostics.Debugger.Break();
Run Code Online (Sandbox Code Playgroud)

它会强制断点.

  • 奇怪的是,这被接受为答案,因为它没有解决实际问题,即关于可以放置断点的行。强制断点是完全不同的事情。 (2认同)

Mar*_*ett 8

Debug.Assert的(真); ,它会自动从发布版本中编译出来.


Rob*_*ert 5

volatile int e = 9;
Run Code Online (Sandbox Code Playgroud)

易失性意味着编译器不会删除它,因为我没有读取变量.'9'只是为了非零.零对我的口味来说太常见了.

  • 许多程序员会使用42 (6认同)
  • @tehp - 但这是另一个关键的新闻,我是一个懒惰的工程师!抱怨! (2认同)