October 3rd, 2004, 10:50 AM
debug problem in Windows XP pro SP2
atm i'm learning ASM via several tutorials, and one of them started to explain the debug program..
one of the examples was:
this is suppose to load the 10h to the 20h sector of the C drive starting at offset 0100h.
when i enter this command i get the following popup:
now my question: since when is this?
16 bit MS-DOS Subsystem
An application has attempted to directly access the harddisk, which cannot be supported. This may cause the application to function incorrectly. Choose 'Close' to terminate the application.
i can remember doing this about a year ago (to recover data), but now it doesn't seem to work anymore. I can not remember if i did that then on w2k or xp, but i doubt if it would really matter...
does this has something to do with SP2?
if so, is there a way around this?
Thanks in advance for the replies
October 3rd, 2004, 12:35 PM
I'm not sure but I think it is one of these things:
1) That action is not properly supported by the ms-dos emulator
2) usage of int 13h is limited to processes running with kernel privileges (ring 0) on Windows NT based systems, I would assume debug uses this interrupt and it is thus not possible to succesfully conduct this action.
If one believes I am wrong or if you can agree please say so.
The above sentences are produced by the propaganda and indoctrination of people manipulating my mind since 1987, hence, I cannot be held responsible for this post\'s content
October 3rd, 2004, 03:18 PM
well, i think it has a different reason, cause i'm pretty sure it worked on w2k. and that's also an NT based system, so or they must have changed the power of cmd.exe in XP, or something in SP2 doesn't allow programs to write directly to the hdd. as soon as i'm at work again i can tell for sure though, since i have a w2k system there. (and also a clean XP system). (clean as in no SP2).
thanks for your response
October 5th, 2004, 02:29 PM
Debug, doesn't work to well in multitasking enviroments like windows, it uses low level interrupts. You'll need to boot up in a DOS to get meaningfull results or in most cases to get results at all. Since your running XP, which doesn't have a way to drop to true DOS, you'll need a boot disk to get this working. Don't forget if your hard disk partition is NTFS (Which it should be), you won't be able to access your files. So, you will also need a FAT32 partition to work with, and copy any files you'll be using or need to it using XP. Hope this helps...
October 6th, 2004, 01:30 PM
FYI, l (load) is the command for reading while w (write) is for writing. Try hitting ignore button when the error message pops up. As pointed out by other members, debug on Win32 family only contains a subset of functionalities originally supported on DOS. I think they should remove any references to deprecated functions.
so or they must have changed the power of cmd.exe in XP, or something in SP2 doesn't allow programs to write directly to the hdd.
Have a look at this article (it was the 4th link returned by googling "reading disk sector in windows"). I haven't tried it yet, but it should work. There's also a downloadable demo project you can learn from. HTH.
Always listen to experts. They\'ll tell you what can\'t be done and why. Then go and do it. -- Robert Heinlein
I\'m basically a very lazy person who likes to get credit for things other people actually do. -- Linus Torvalds
October 6th, 2004, 07:05 PM
yes of course! i'm running XP on NTFS, and win2k was on FAT32 at the time. this could very well be (one of) the problem(s).
thanks for the info and for the link, i will read it ASAP (at least now i also know what to google for)