This may have been posted in 2008, but the tech it is demoing was decades (yes, plural) old by then: https://www.youtube.com/watch?v=1kuoS796vNw This video is a simple demonstration of very mature tech, not a demo of something hot and new.
That's a demo of a Smalltalk environment with the programmer deliberately writing some code that crashes, going into the debugger, adding the method on the fly, and then having the original method call complete despite the method not yet having existed.
It isn't quite true that there is nothing new under the tech sun... but there's certainly less new than most people seem to think.
Yeah, SoftICE, I remember buying Hackerzvoice (a French newspaper-like hacking magazine) which included SoftICE tutorials on how to crack WinRAR license verification. (for educational purposes of course)
I was amazed that I could breakpoint and debug any running app. I miss SoftICE.
Wasn't SoftICE a bit of an overkill for cracking WinRAR? If memory serves right, it was a tool mainly for debugging kernel-level code (drivers) -- that's why it had to start before windows. WinDBG and similar userspace tools should have been just as good (or even better, as they woudn't interfere with WinAMP :)) for dealing with userspace processes.
Totally overkill yes, but without internet, you use whatever you're able to put your hands on ;-)
Ironically, the first software I cracked, well tried to, was an IRC client named Klient if I recall correctly. I bypassed the license check, but, this software included a functionality which, when it detected this, broadcasted to everyone (except me) that I was using a pirated version and that I was accepting the CTCP reboot command :-)
It depends on what you are trying to do. Softice was good for "kernel" debugging, rather than just simple user space programs for which things like turbo debugger (and more modern solutions), were as good if not better.
For windows kernel debugging, there is windbg, kd, and assorted "emulation" methods like qemu's gdb stub. Similarly for linux/kgdb/etc... OTOH, Softice had a number of OS data structure aware commands in the late 1990's which are only really available in something like windbg. In theory you could write kgdb macro's to perform most of that functionality for linux/etc but it doesn't work out of the box.
Although in the end, the logical replacement for softIce, is a JTAG debugger of some form. A fair number of the ARM platforms work with DS5/Dstream which provides source level debugging with far more functionality (for example trace level timing information) than softice as an "ICE' ever did. I guess its the same for intel's ITP-XDP3/system studio products these days.
Again, it depends on what your trying to debug. AKA do you need the "ICE' (aka JTAG these days) functionality, or are you just looking for a powerful kernel or user-space debugger.
Not really. It's not that other debuggers didn't provide some of those features and were very good at, say, stepping through program logic. I've spent many years using other debugging tools for C/C++ and Java, and although there are some good IDE's out there, firebug's capability to analyze everything from logic to object models to network activity and visual presentation details, in such a well-integrated and user-friendly way was frankly unprecedented.
The parent claimed the following: "Firebug didn't just raise the bar for web debugging, it pretty much raised the bar for all debugging tools." I dispute the idea that Firebug raised the bar for non-web debugging tools.
firebug took a while to have a proper javascript debugger. For a long while, you could only ever have breakpoints using IE+VS... But it was a crapshot if your code had too much DOM interaction. The debugger itself would crash (and offer you to debug itself heh)