Zelaron Gaming Forum

Zelaron Gaming Forum (http://zelaron.com/forum/index.php)
-   Tech Help (http://zelaron.com/forum/forumdisplay.php?f=329)
-   -   Need a debugger for windows (http://zelaron.com/forum/showthread.php?t=39278)

Demosthenes 2006-05-02 09:17 PM

Need a debugger for windows
 
I was playing around with debug for a while, and I think it can't properly handle windows programs. For instance, I wrote a simple piece of code that prints my name for the purpose of looking and tracing through the disassembled code :

Code:

#include <stdio.h>

int main(void)
{
  printf("Jamal");
  return 0;
}

When I look at the registers and dissasemble it, here is what I get:

Code:

-r
AX=0000  BX=0000  CX=3B2F  DX=0000  SP=00B8  BP=0000  SI=0000  DI=0000
DS=0B6D  ES=0B6D  SS=0B7D  CS=0B7D  IP=0000  NV UP EI PL NZ NA PO NC
0B7D:0000 0E            PUSH    CS
-u
0B7D:0000 0E            PUSH    CS
0B7D:0001 1F            POP    DS
0B7D:0002 BA0E00        MOV    DX,000E
0B7D:0005 B409          MOV    AH,09
0B7D:0007 CD21          INT    21
0B7D:0009 B8014C        MOV    AX,4C01
0B7D:000C CD21          INT    21
0B7D:000E 54            PUSH    SP
0B7D:000F 68            DB      68
0B7D:0010 69            DB      69
0B7D:0011 7320          JNB    0033
0B7D:0013 7072          JO      0087
0B7D:0015 6F            DB      6F
0B7D:0016 67            DB      67
0B7D:0017 7261          JB      007A
0B7D:0019 6D            DB      6D
0B7D:001A 206361        AND    [BP+DI+61],AH
0B7D:001D 6E            DB      6E
0B7D:001E 6E            DB      6E
0B7D:001F 6F            DB      6F

I believe the part of the code we're looking at is:

Code:

0B7D:0000 0E            PUSH    CS
0B7D:0001 1F            POP    DS
0B7D:0002 BA0E00        MOV    DX,000E
0B7D:0005 B409          MOV    AH,09
0B7D:0007 CD21          INT    21
0B7D:0009 B8014C        MOV    AX,4C01
0B7D:000C CD21          INT    21

Now, I tried to dump 0B7D:0000 and this is what I got:

Code:

0B7D:0000  0E 1F BA 0E 00 B4 09 CD-21 B8 01 4C CD 21 54 68  ........!..L.!Th
0B7D:0010  69 73 20 70 72 6F 67 72-61 6D 20 63 61 6E 6E 6F  is program canno
0B7D:0020  74 20 62 65 20 72 75 6E-20 69 6E 20 44 4F 53 20  t be run in DOS
0B7D:0030  6D 6F 64 65 2E 0D 0D 0A-24 00 00 00 00 00 00 00  mode....$.......
0B7D:0040  50 45 00 00 4C 01 05 00-94 17 58 44 00 16 00 00  PE..L.....XD....
0B7D:0050  C6 01 00 00 E0 00 07 03-0B 01 02 38 00 0A 00 00  ...........8....
0B7D:0060  00 12 00 00 00 02 00 00-20 12 00 00 00 10 00 00  ........ .......
0B7D:0070  00 20 00 00 00 00 40 00-00 10 00 00 00 02 00 00  . ....@.........

What bothers me is that where my name Jamal should be, it says that the program can't be run in MS-Dos mode. Is there a debugger which will allow me to properly debug this code?


All times are GMT -6. The time now is 02:20 AM.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
This site is best seen with your eyes open.