Omniscient Debugging

转载 2006年05月28日 10:02:00
Omniscient Debugging
"Because the Debugger Knows Everything"
21 April 2005

What if your debugger could go "go backwards in time?" Would that make debugging easier? By simply recording all variable assignments, it is possible to do essentially this. This is the underlying idea for omniscient debugging. The amazing part is that significantly large programs can be debugged in this fashion -- Ant, JUnit, the debugger itself.

Returning from rave reviews in Europe (Ecole des mines de Nantes, INSA, ECOOP, AADEBUG, France! Sweden! Germany! Russia! Belgium! Estonia!), the ODB made its next public appearence at OOPSLA where it passed the $100 challenge (that was the amount offered for any bug it couldn't find). And now it will be a feature article in Doctor Dobbs Journal (just in time for my Nth birthday, 9 May 2005)! And just in time for its presentation on stage to thousands of screaming fans at JavaOne!

Life is good for the ODB and that's bad for bugs.

The debugger works by collecting "time stamps" which record everything that happens in a program. A GUI then allows you to navigate backwards in time to look at objects, variables, method calls, etc.

This means that you can see which values are bad, then find where those values came from, who set them and why. This also means that there are no non-deterministic problems. You don't have to guess where the problems might be, you don't have to set breakpoints, you don't have to wonder which threads ran when, you don't ever have to repeat a program run. This is the debugger that you always dreamed about, but never thought was possible.

http://www.lambdacs.com/debugger/debugger.html

Omniscient, Electronic Information

  • 2014年10月13日 19:43
  • 107KB
  • 下载

对菜鸟开发者的叮咛:花一万个小时练习 Coding,不要浪费一万小时无谓地 Debugging

http://www.cocoachina.com/programmer/20140904/9524.html对菜鸟开发者的叮咛:花一万个小时练习 Coding,不要浪费一万小时无谓地 Debuggi...
  • sleks
  • sleks
  • 2014年09月11日 15:19
  • 1031

android USB Debugging平板机调试步骤,真机调试,平板机调试,usb测试

USB Debugging平板机调试步骤 一、 介绍 USB Debugging,通过USB使桌面电脑(PC)与平板电脑(Tablet)连接,把项目直接部署到Tablet中进行调试。 ...

Xcode 的正确打开方式——Debugging

程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。 “If debugg...
  • hherima
  • hherima
  • 2015年02月28日 22:14
  • 784

Debugging with Xdebug and Sublime Text 3

今天和大家一起来学习用Sublime Text 3083版本来配置一下Xdebug调试吧 。不多说直接开始 首先,我们必须有PHP Xdebug扩展安装,接下来为大家简单介绍一下 : 先下载文件 ...

VC2005调试时错误“No Debugging Information”

解决方法: 菜单里Project->property->Linker->Debugging, "Generate Debug Info" 一项后下拉菜单选"Yes(/DEBUG)"   下面是从...

Preparing for Application and Service Deployment-Debugging and Troubleshooting Windows Azure Applic

http://msdn.microsoft.com/en-us/library/ff966484.aspx This appendix describes some of the techn...

Top 10 Java Debugging Tips with Eclipse(Eclipse调试Java的10个技巧) .

在本教程中,我们将看到使用Eclipse调试Java应用程序。调试可以帮助我们识别和解决应用程序中的缺陷。我们将重点放在运行时间的问题,而不是编译时错误。有提供像gdb的命令行调试器。在本教程中,我们...

远程调试Storm Topology,官方Debugging an Apache Storm topology(翻译)

Debugging an Apache Storm topology原文地址Github原文地址转载请注明出处。摘要:在本文中,我们将介绍在Apache Storm 1.0引入的调试和监控功能。正文A...

Top 10 Java Debugging Tips with Eclipse

In this tutorial we will see about debugging java applications using Eclipse. Debugging helps us to ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Omniscient Debugging
举报原因:
原因补充:

(最多只允许输入30个字)