Slashdot Mirror


R.I.P. MS-DEBUG 1981 - 2009

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. "

57 of 240 comments (clear)

  1. /.'ed already? by just_another_sean · · Score: 3, Funny

    Wow, two comments and /.'ed already. Who knew MS-DEBUG had such power to make people want to actually RTFA!

    --
    Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
    1. Re:/.'ed already? by Hadlock · · Score: 4, Funny

      Their webserver was built using MS-DEBUG

      --
      moox. for a new generation.
  2. Re:Article not quite right ... by Masa · · Score: 4, Informative

    Acutally, the debug command was removed in Windows Vista & Windows Server 2008.

    Really? At least my Vista installation still has it.

  3. Number of comments not showing on front page by Anonymous Coward · · Score: 2, Insightful

    Is /. broken today?

  4. -a 100 by Anonymous Coward · · Score: 5, Funny

    -a 100
    jmp 100
    w
    x
    ?
    ?
    ?
    quit
    end
    crap
    sit
    vi?

    1. Re:-a 100 by sexconker · · Score: 3, Informative

      Q

      Filter error: You can type more than that for your comment.

  5. But not too worry... by mikael · · Score: 4, Funny

    ... a new sourceforge project called Open-Debug is being created to replace it.

    --
    Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    1. Re:But not too worry... by Anonymous Coward · · Score: 2, Funny

      Isn't Win 7 supposed to ship with XP in a virtual machine? Just grab debug.exe from there.

  6. Re:Article not quite right ... by joelmax · · Score: 3, Informative

    Actually, our server 2008 boxes here at the office have it as well.

  7. Re:Article not quite right ... by orclevegam · · Score: 3, 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.

    --
    Curiosity was framed, Ignorance killed the cat.
  8. OMG by Capt.DrumkenBum · · Score: 4, Funny

    They killed debug.
    You bastards!

    --
    If I were God, wouldn't I protect my churches from acts of me?
    1. Re:OMG by ISoldat53 · · Score: 4, Funny

      What will the Terminator movies use on their background computer screens?

  9. it's a trick by skeletor935 · · Score: 5, Funny

    Everyone confirming or denying the presence of MS-DEBUG on their windows machine, is confirming their use of windows, and getting their precious slashdot ID number increased by 50% and a free copy of Windows 7 because MS is tired of having to keep hosting Windows 98 SP 2 updates for every time you reformat

  10. Re:Article not quite right ... by Anonymous Coward · · Score: 5, Insightful

    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.

    Removed or they couldn't or wouldn't get it working?

  11. Re:It's in Windows Vista Alright by Arimus · · Score: 3, Insightful

    Not true, the debug command is in Windows Vista (at least the Ultimate version)

    From the article summary:

    After 28 years, MS-DEBUG is finally being phased out in Windows 7.

    Vista is not Windows 7 so.... yes we'd expect the debug command in Vista.

    --
    --- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
  12. Re:Article not quite right ... by EvanED · · 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.

  13. Sad day by Masa · · Score: 4, Interesting

    So much fond memories...

    The Debug.exe was actually my first contact to programming and the first language I learned, was x86 assembler.

    It was MS-DOS 2.xx and all my friends played with C64s and coded all kinds of cool things. My parents couldn't afford a C64 but they somehow got an old PC free. Demoscene was a new and hot thing in those days and me and my friend programmed our first demo completely using the Debug.exe. Merging the two code-bases was an interesting task, when all you had was two pieces of binary and some unused memory space for copy 'n' paste. The demo actually was quite cool. Unfortunately I have lost my only copy.

    1. Re:Sad day by vtcodger · · Score: 2, Insightful

      The joys of X86 assembler? You're kidding, right? Nothing wrong with assembler where it is appropriate -- say in programming a coffee pot, paperweight, or washing machine. But the X86 instruction set is the most abominable, chaotic, shambles ever conceived by the mind of man.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
  14. Debug by KingPin27 · · Score: 5, Funny

    Makes me wonder why Microsoft even created it in the first place..... not like THEY used it or anything.

    --
    "i lost my dignity on a slippery wiener"
  15. I used it to write and modify code by AaronW · · Score: 3, Interesting

    Back in the DOS 2.1 days when I got my first computer I didn't have any manuals. I quickly found debug, though, and saw all the strings in command.com. A bit later I actually used it for things like disassembling the boot sector and even writing some tiny programs via machine code since Microsoft's assembler and linker costs a fortune at the time and I was in junior high and beginning high school. I even used it to crack a number of programs via the disassembler command. There was also an improved version of debug I managed to get a hold of called symdeb.

    When I got the Borland (RIP) Turbo Assembler and their debugger I stopped using it.

    I haven't touched it in many years, especially since I moved away from Windows in the early 1990s, migrating first to OS/2 and later to Linux.

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    1. Re:I used it to write and modify code by mzs · · Score: 4, Interesting

      Here is another former TASM user piping up.

      I remember when I was kid (pre-TASM) and my dad got a blazing fast internal ISA 2400 baud modem (hee hee). But it would not work right in Windows 3.0, it worked fine in a DOS program. Back then you had to assign an IRQ and port. The internal cards used the same as COM1 and COM2, but it should have been okay. The ISR should have checked the first card and then chained to the next. But it simply was not working, we had a serial port mouse and the other serial port was used for a printer (the machine had two printers one for carbon copy forms the other a laser printer for letters on the parallel port).

      So after trying everything that I could think of I called MS support. Back then things were VERY different. The lady that answered spoke pacific NW English and was incredibly competent. She explained that some BIOSes were buggy and did not do the IRQ chaining correctly. We could not find an IRQ that was free that the modem card had a jumper for so she walked me over the phone commands to do in debug to patch a driver in Windows 3.0 to get around this issue. I was a freshman in high school at the time, that really left a mark on me. I had just learned how to use edlin before that. Soon after I got a copy of Turbo Pascal from this Polish guy I knew and I never looked back.

      Before then I had only done Basic and later TASM (no relation Turbo ASM, that is what the cartridge+floppy interface was called, probably Tandy ASM) programming on a CoCoII. But that few minutes in debug got me hooked on modern systems and led to C/C++ TASM by the time I finished high school. I got a summer job just so I could afford Borland C++, it was something like $400 (student discount, I could not sell programs I compiled), the printed manuals it came with were incredible. DOS, Windows, dBase, WP all had incredible printed manuals too. Man have times changed.

      Before TASM I sure did used debug a lot. It was a cheap assembler, disassembler (I needed to figure out some VGA routines from Borland), and you could use it a lot like you would dd on unix too.

  16. Sad... by pablomme · · Score: 5, Funny

    I hope Mr. Debug gets over his loss soon.

    --
    The state you are in while your HEAD is detached... - wait, what?
    1. Re:Sad... by MrEricSir · · Score: 5, Funny

      Speaking of which, I hear Mr. DOS is paying steep bills for his wife's life support.

      --
      There's no -1 for "I don't get it."
    2. Re:Sad... by fuzzyfuzzyfungus · · Score: 5, Funny

      Dr. DOS' services aren't cheap...

    3. Re:Sad... by Anonymous Coward · · Score: 2, Funny

      Especially not when you factor in the therapy from Dr Sbaitso.

    4. Re:Sad... by gringofrijolero · · Score: 5, Funny

      They could've gone to the FreeDOS clinic.

      --
      Todos mis movimientos están friamente calculados
  17. Re:Article not quite right ... by petermgreen · · Score: 4, Interesting

    Afaict debug is a 16 bit does tool for creating and debugging 16 bit dos apps. Since 64 bit windows doesn't support dos apps (or 16 bit windows apps for that matter) it wouldn't make much sense to include something that both is one and is a tool for working with them.

    P.S. I find it amusing that wine on 64 bit linux can run 16 bit windows apps yet 64 bit windows can't.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  18. But Visual Studio has its own Debug mode by Orion+Blastar · · Score: 2, Interesting

    so we don't need debug.exe anymore.

    Anyone remember Borland Turbo Debugger or Microsoft Codeview? I used to use them to debug programs as well in Assembly Language.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    1. Re:But Visual Studio has its own Debug mode by UnknowingFool · · Score: 4, Informative

      Some of us still code in notepad, you insensitive clod! Now get off my lawn!

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    2. Re:But Visual Studio has its own Debug mode by Anonymous Coward · · Score: 2, Funny

      If a newer and better console based debugger for Windows hasn't emerged since MS-DOS DEBUG, then the Windows developer community has some serious issues.

    3. Re:But Visual Studio has its own Debug mode by Tacvek · · Score: 2, 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

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
  19. first, best use by sohp · · Score: 4, Funny

    Using it to change this string in command.com

    "Abort, Retry, Fail?"

    to

    "Abhor, Retch, Fume!"

    Note that it fits in exactly the same number of bytes. That's important.

    1. Re:first, best use by ConceptJunkie · · Score: 2, Funny

      Well, "Abort" means you recognize that it's broken and are telling it to give up, this is what they did to DOS, which brought us Windows 95. In many ways, it was a lateral move.

      "Retry" means, yes, we admit it's broken, but we can do better. This was Windows NT.

      "Fail" == Vista

      --
      You are in a maze of twisty little passages, all alike.
  20. feh by ClioCJS · · Score: 4, Interesting
    bad move. debug.exe was the only way i could recover a harddrive that had a messed up partition table. No, neither fdisk nor the linux equivalent could fix it, not even with a full low-level format. only debug.exe. It was a damned weird situation. Linux lied and said it was fixed; Fdisk told the truth and said it couldn't fix it. Debug worked tho!!

    It's not like it hurts by sitting there on the harddrive, taking up a whopping 28K (or however big it is)....

    --
    -Clio
    Karma: Bad (mostly from not giving a fuck)
    Blog: http://clintjcl.wordpress.com
    1. Re:feh by Aranykai · · Score: 4, 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.

      --
      If sharing a song makes you a pirate, what do I have to share to be a ninja?
    2. Re:feh by PalmKiller · · Score: 4, 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

    3. Re:feh by evilviper · · Score: 3, Interesting

      Interesting, I never heard of anyone using DeBug like that, how'd you do it?

      I wrote most of the FAQ for Computing.net forever ago:

      http://www.computing.net/faq/contentdos/badsector.html

      I think its been close to 15 years ago now... Little things you put out of your mind until someone brings them back up. Strange to see what a following my work has gotten these days.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    4. Re:feh by TheRaven64 · · Score: 2, Interesting

      Wow, I'm glad I had Norton Utilities. It gave a nice hex editor view of files, or of regions of the disk. One of the fun things you could do with it was see how Elite savegames worked, and discover why copying them always failed. It turns out that Elite would write the data into a 512 byte sector and then truncate the file. The game data would still be on disk, but after where the OS thought the file ended. If you modified it in any editor, the entire disk block would be written back out and the bit of the file containing the real data would be clobbered. If you edited it in nu you could change the values after the supposed end of the file.

      --
      I am TheRaven on Soylent News
  21. Wrong, Wrong and Wrong by Anonymous Coward · · 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.

    1. Re:Wrong, Wrong and Wrong by mzs · · Score: 4, Interesting

      "due to the fact that the x86-64 CPUs cannot switch to 16-bit mode."

      ????

      AMD64 CPUs most certainly support real mode. In fact that is how they boot, how else would you expect the VGA bios to execute during boot?

      They also support Virtual 8086 mode which you are confusing with 16-bit mode. The issue is that in Long mode (which is all that 64-bit MS OSs supprort) you cannot run in those modes. Instead you either run in 64-bit mode or compatibility mode (32-bit or 16-bit, no extra regs). MS certainly could have provided a way to switch between Long mode and Legacy mode but chose not to. Then when encountering a real mode program it would switch to Legacy mode. These switches are not cheap though, you'd likely have do things like quiesce DMA, and that is why MS decided to ditch it. In fact there was a similar issue with the 80286 and 16-bit protected mode, essentially a soft reset was needed to get back into real mode but that was done back then (with the advent of Windows 3.0) since so many programs would have been unusable otherwise.

  22. Good ole' debug by Datamonstar · · Score: 2, Funny

    I'm such a poser that the only thing I used it for was low-level format of hard drives. But oh, how I'll miss it. I still remember being a phone tech and using the debug script for callers that I didn't like. I'd tell them "Okay, I'm going to tell you some commands and I'm not going to be able to stop so make sure you don't miss anything of else I'm not sure if I'll be able to recover your system ever again." And then I'd proceed to turbo-read the script without stopping. Ah, such fun.

    --
    The eternal struggle of good vs. evil begins within one's self.
  23. Re:Article not quite right ... by Aranykai · · Score: 4, Informative

    Vista 64 users can always use dosbox.

    --
    If sharing a song makes you a pirate, what do I have to share to be a ninja?
  24. Re:Article not quite right ... by Anonymous Coward · · Score: 3, Funny

    Yes but Wine64 can't really run any 64-bit Windows apps and Wine has trouble with most Win32 apps. Being able to run 16-bit apps under Wine is more of a testament to how far behind it is.

  25. Awwww.... by feepness · · Score: 3, Interesting

    This was how I cracked Ultima V. They had a special sector on the floppy(!!) and read code off it, put it in the right place, and then ROT13ed that code.

    I traced through until I was past that point, added nops where the read/ROT13 was, and rewrote the exe. I thought I was a genius.

    RIP MSDEBUG.

  26. Re:Article not quite right ... by Divebus · · Score: 4, Funny

    Shouldn't the headline read "R.I.P. MS-DEBUG 1981 - 2010" or " - 2011"? ( ...do I hear 2012?)

    --

    Most of the stuff on /. won't survive first contact with facts.
  27. Already gone... by faragon · · Score: 2, Interesting

    ... for XP64 and Vista64.

    Here is my last tribute:


    C:\Users\faragon>copy con hifolks.com
    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz^Z
    1 files copied.

    C:\Users\faragon>debug hifolks.com
    -a 100
    187E:0100 jmp 112
    187E:0102 db "Hello Slashdot!$"
    187E:0112 mov ah,9
    187E:0114 push cs
    187E:0115 pop ds
    187E:0116 mov dx,102
    187E:0119 int 21
    187E:011B int 20
    187E:011D
    -w
    Writing 00048 bytes
    -q

    C:\Users\faragon>hifolks.com
    Hello Slashdot!
    C:\Users\faragon>

  28. Re:Article not quite right ... by EvanED · · Score: 2, Interesting

    P.S. I find it amusing that wine on 64 bit linux can run 16 bit windows apps yet 64 bit windows can't.

    Actually, I'd be interested in knowing how this works (assuming it's true). Does Wine do some sort of binary translation? To my knowledge 16-bit instructions aren't available in 64-bit mode, so it can't just be running it natively. Does it do that with all programs, or just 16-bit ones? Anyone know?

  29. Re:Article not quite right ... by SCPRedMage · · Score: 2, Informative
    --
    My sig can beat up your sig.
  30. Typo by PalmKiller · · Score: 3, Informative

    Oops the seek=466 should have been 446 (or even 448 with a count of 62, either works)...just in case someone really wants to back up a partition table with nothing else.

  31. Slashdotted: original article by againjj · · Score: 4, 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.

  32. Re:Article not quite right ... by Hmmm2000 · · Score: 2, Informative

    Correction - removed from 64bit Vista & 64bit Windows Server 2008. I forget that people still run the 32bit only version :)

  33. Text editing in debug by Tired+and+Emotional · · Score: 2, Informative
    A colleague and I once edited a text startup file for windows using debug - config.sys probably but I don't remember for sure.

    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.

    --
    Squirrel!
  34. Re:Article not quite right ... by petermgreen · · Score: 2, Interesting

    Actually, I'd be interested in knowing how this works (assuming it's true)
    It's most definately true

    Actually finding out how wine does 16 bit code is trickier. I've found out from the documentation that it involves something called "winevdm.exe.so" but i dunno how that binary does it. I guess it would be possible to RTFS but I don't care enough to do that.

    To my knowledge 16-bit instructions aren't available in 64-bit mode, so it can't just be running it natively
    You can't do 16 bit real mode code under a 64 bit kernel. I'm not sure what the situation is with 16 bit protected mode code (wikipedia claims it's possible but doesn't provide a citation for that claim)

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  35. Re:Article not quite right ... by shutdown+-p+now · · Score: 2, 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.

  36. Re:Article not quite right ... by petermgreen · · Score: 2, 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.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  37. MS-DEBUG?? Don't you mean SCP-DEBUG from 1980? by IvyKing · · Score: 2, Informative

    DEBUG was actually part of QDOS/86-DOS before MS thought about buying the rights from Seattle Computer Products. The DEBUG commands and syntax were similar to the features in the EPROM monitor that came with the SCP CPU's (actually on the CPU support card).

  38. Used it just a few weeks ago by Kaenneth · · Score: 2, 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.