我们中很少有人会否认调试器的强大功能,但为了使它更有用,可以使用一些技巧.
例如在Python中,你可以使用pass来做任何事情,除了让你有空间放置一个断点并允许你观察Watch窗口中的值.
在C#中,我曾经做GC.Collect(),但现在我使用if(false){}
你最有趣的虚拟线是什么?
在C#中,您可以使用:
System.Diagnostics.Debugger.Break();
它会强制断点.
在C#中,在Visual Studio中
{}
要么
;
Debug.Assert的(真); ,它会自动从发布版本中编译出来.
volatile int e = 9;
易失性意味着编译器不会删除它,因为我没有读取变量.'9'只是为了非零.零对我的口味来说太常见了.