home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Reverse Code Engineering RCE CD +sandman 2000
/
ReverseCodeEngineeringRceCdsandman2000.iso
/
RCE
/
LordLucifer
/
win32asm
/
tutorials
/
softicedb.txt
< prev
next >
Wrap
Text File
|
2000-05-25
|
2KB
|
67 lines
Setting up MASM for use with SoftICE
-----------------------------------------------------------------------------
by Lucifer
Mon January 25, 1999
Well, I have had a pain trying to get masm produced executables to debug
correctly with SoftICE. After some kludging I've finally figured it out...
Its actually simple to do, but if you dont know what you're doing (or haven't
read your manual), its quite a pain. Set these options when you build your
project and you should have no problems debugging it.
Step 1 - Setting up The Assembler:
-----------------------------------
ML /COFF /Zi ...
Step 2 - Setting up The Linker:
-------------------------------
Link /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV ...
Step 3 - Seting up SoftICE:
---------------------------
This batch file will translate the symbol information and package the source
code. This will allow you full symbolic and source level debugging.
It will then launch the debugger amd break on the module's entry point
(WinMain, DllMain, or DriverEntry). This batch file will completely replace
the use of Loader32.exe, giving quick and easy access to the debugger from
the command line.
rem DEBUG.BAT ----------------------
@echo off
nmsym /translate:source,package,always /source:. /load:execute,break %1
Now all you have to do is type "DEBUG MyProgram.exe" on the command line to
automatically load the source and symbols and begin debugging.
Step 4 - Setting up the Paths:
------------------------------
Now all you need to do is add your MASM bin directory to the PATH, as in:
SET PATH = %PATH%;C:\MASM\BIN
Step 5 - Using SoftICE to Debug:
--------------------------------
Note: It is a good idea to have a WinMain function in your source, so that
SoftICE will break on it when it loads the program...
Once you have the program laoded into softice you can use the SRC command
to toggle between source view, code view, and mixed mode...
You can also set breakpoints on your functions by typing BPX MyFunc.
BPM MyVar will break on access to a variable.
Of course, READ YOUR MANUAL so you really know what your doing...
NOTE: These settings haven't seemed to work for everybody... so if you have
problems, or know what I am doing wrong, please let me know.
-----------------------------------------------------------------------------
Hope this helps someone....
...and thanks Hookflash!
Copyright (C) 1999
lord-lucifer@usa.net