R.I.P. MS-DEBUG 1981 - 2009 240
AlphaZeta writes "After 28 years, MS-DEBUG is finally being phased out in Windows 7. Over the years, people have been using MS-DEBUG for writing code (virus/malware, you name it) and debugging. "
Nothing is finished until the paperwork is done.
Re:Article not quite right ... (Score:5, Informative)
Acutally, the debug command was removed in Windows Vista & Windows Server 2008.
Really? At least my Vista installation still has it.
Re:Article not quite right ... (Score:3, Informative)
Re:-a 100 (Score:4, Informative)
Q
Filter error: You can type more than that for your comment.
Re:Article not quite right ... (Score:4, Informative)
Seconded. Just checked a Vista box installed here at the office. It was Vista Ultimate. Does version make a difference?
It's removed from 64 bit copies of Windows, including XP 64 bit.
Re:Article not quite right ... (Score:5, Informative)
Depends, is it still the same old 16-bit exe in the versions of Vista people are reporting it to be present? If so, probably "didn't bother to get it working". Many DOS utilities of that time were written in assembly, so getting it working in 64-bit would have basically consisted of rewriting it.
Re:My favourite DEBUG (Score:1, Informative)
8-bit rick-rolled!
Re:My favourite DEBUG (Score:1, Informative)
I made a .com out of that and tried to run it in DOSBox and it just froze. :(
Re:But Visual Studio has its own Debug mode (Score:5, Informative)
Wrong, Wrong and Wrong (Score:5, Informative)
This article is entirely wrong. DEBUG.EXE hasn't been removed from Windows 7. It's just not included in 64-bit editions of Windows. That goes for 64-bit editions of Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 and Windows 7. This is because the 16-bit emulator is no longer included in the 64-bit versions of Windows due to the fact that the x86-64 CPUs cannot switch to 16-bit mode. So it's not DEBUG.EXE that is gone, it's all of DOS that is gone.
Re:Article not quite right ... (Score:5, Informative)
Vista 64 users can always use dosbox.
Re:feh (Score:5, Informative)
Modern hard disks, as in anything made after 1994, should never be subjected to an LLF. The tracks and sectors are defined at the factory physically and you cannot change them. Now, what I think you mean to say is you 'reinitialized' or wrote zero's over the entire disk. Almost every disk manufacturer makes a utility to do this that you can download from their website. This ignores partitions, so it will fix a corrupted partition table.
Re:feh (Score:5, Informative)
In linux just use dd to write 512 zeros to /dev/hda (or /dev/sda or whatever the base drive is) for example
dd bs=1 count=512 if=/dev/zero of=/dev/hda
That will wipe the boot block clean, then you can use it like a brand new drive.
Or if you want, just zero out the partition table using a seek=466 and a count=64 instead of the count=512
Re:Article not quite right ... (Score:2, Informative)
Typo (Score:4, Informative)
Slashdotted: original article (Score:5, Informative)
MS-DEBUG 1981 - 2009
May 8, 2009, 11:16 am
Earlier this week (May 5) Microsoft Windows 7 Release Candidate was released to the general public and like many technology enthusiasts I downloaded a copy early in the morning hours on Tuesday, shortly after Microsoft made it available on its website.
The RC build of Windows 7 (build 7100) has many tweaks over the previous beta build I have (build 7000) and I have not yet played with it long enough to come up with any meaningful conclusions. However, this is not the point of this article. As you might have noticed from the title of this article, I was not about to talk about my experience with Windows 7 (maybe I will write about it later). What I noticed the first thing in Windows 7 is that the DEBUG command is nowhere to be found.
I was just old enough to remember the very early days of DEBUG under MS-DOS. In fact, I was fascinated with such a small and yet powerful tool that came with every version of MS-DOS distribution. the DEBUG command was so powerful that you could do almost anything with your machine with sometimes just a few key strokes.
For a long time, I used DEBUG to learn x86 assembly language and to learn about disk (both floppy disks and harddrives) structures and file systems. And occasionally, I would use DEBUG to edit binary files.
I remembered that I could use commands like
-l 100 0 0 1
-d
to load the boot sector from floppy A and inspect whether the boot sector was infected with any virus and if so, I would find a clean floppy disk and using DEBUG to write its boot sector to the disk that was infected.
And routinely, I would use the following commands to inspect the partition table of my harddrive to make sure that it was free from any infections:
mov ax, 0201
mov bx, 1000
mov cx, 0001
mov dx, 0080
int 13
int 3
-g 100
-d 1000
Remember this one?
jmp ffff:0000
I remembered that someone at my high school used to play the pranks by changing the very first few bytes on floppy disks to EA:00:00:FF and placed the disks in computers in the lab so that whenever someone turned on the computer, it would enter an infinite reboot cycle.
And when CIH stroke in the late nineties, my friends and I would use DEBUG to inspect the virus's code to see how the instructions could actually be used to cause real physical damage to the hardware.
After Windows came along, I still used DEBUG often. After all, deep inside Windows (up till Windows ME), there was MS-DOS and for years, user were allowed to operate in real mode if they so inclined to. With the advent of Windows 2000 and then later Windows XP people started to forget about DEBUG since the operating system became true 32bit and the DOS prompt became just an emulator. You could still view files and write assembly code within DEBUG, but it was in a protected environment and everything you do was pretty safe and you couldn't really do anything harmful to the hardware (of course, you could still overwrite sectors in floppy disks if you wanted to).
Ah, those were the good old days. Just like QBasic disappeared from later versions MS-DOS, DEBUG has gradually become obsolete. It remained in Windows Vista, but it is no where to be found in Windows 7. At last, Windows has shed one of its last vintage applications from the MS-DOS era.
Re:But not too worry... (Score:1, Informative)
There's already an open source debug clone: FD Debug [japheth.de]
Re:Article not quite right ... (Score:2, Informative)
Text editing in debug (Score:3, Informative)
We were at a trade show and needed to make a change to the file but edit, for some strange reason, was missing from the machine, so it was the only thing we had to make the edit.
After that I made sure I always had a floppy with key tools with me.
Re:But Visual Studio has its own Debug mode (Score:3, Informative)
The primary free windows debugger is WinDBG, which is available for free download from Microsoft. Recent versions have been distributed as part of the Debugging Tools for Windows, in which the core engine has been re-factored out to a dll, and 3 different command line interfaces to the engine are included. See: http://www.microsoft.com/whdc/devtools/debugging/default.mspx [microsoft.com]
Re:Article not quite right ... (Score:3, Informative)
As pointed out already, it's only absent from x64 editions of Windows (and it has been so for as long as such existed, starting with 2003 and XP). This is because debug.exe is a 16-bit DOS program, and 64-bit Windows versions do not support 16-bit binaries.
32-bit Windows 7 still has all the old DOS goodies - not just debug.exe, but also edit.com and even edlin.exe. Some things never die, apparently.
Re:Article not quite right ... (Score:3, Informative)
debian:/home/plugwash# file /c/windows/system32/debug.exe /c/windows/system32/debug.exe: MS-DOS executable, MZ for MS-DOS
debian:/home/plugwash#
(the windows install is XP pro, i'm booted into linux at the moment)
Seems pretty clear to me, it's a DOS executable and it's well documented that 64 bit windows cannot run dos executables.
MS-DEBUG?? Don't you mean SCP-DEBUG from 1980? (Score:3, Informative)
Used it just a few weeks ago (Score:3, Informative)
Fixed some source code files that someone had mis-saved in Notepad as UTF-8, or such.
the files had a Unicode Byte-Order-Mark character which the compiler choked on. FEFF the Zero-width, non-breaking space. It's literally an invisible character, so the easiest way to verify/fix the problem is a hex editor, so I used the always-handy DEBUG.