News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Debugging with RADASM

Started by Grincheux, December 19, 2015, 06:07:09 AM

Previous topic - Next topic

Grincheux

I use version 3 of RadAsm and found a menu "Debug".
Does it mean that we can debug our program with RadAsm?
How do I use it?

ragdog

Quote
Does it mean that we can debug our program with RadAsm?

Yes you can set a Breakpoint in your source to debug your source
its very usefull.

Try it

Grincheux

I have seen breakpoints but how do I debug?

jj2007

.code
start:
  mov eax, 123
  invoke whatever
  int 3    ; <------- breakpoint


Your assembler commandline should contain /Zi
Your linker commandline should contain /debug

- open the executable in OllyDbg
- hit F9 to let the program execute until the breakpoint
- hit F7 or F8 to go forward step by step (F8 does not dive into calls)

ragdog

1.Set a Breakpoint with "Toggle breakpoint CTRL+T" on any line in your source
2.Run the Radasm debugger "Debug>>Run shift+7"
3. is your Breakpoint reached in your source can you Trace it with Step into or step Over

And you can Trace step by Step your Source code.

dedndave

in windows, there is something called "Just In Time" exception handler
normally, this points to the "Dr Watson" message box that gives you error information when a program crashes
i'm sure you've seen it - for example, if you try to access protected memory, you get error 0x80000005

well, by changing a registry setting, you can change what happens when a program crashes
Jochen gave you a link to Olly Debugger
versions 1.1 and 2 are available
version 1.1 allows source symbols
version 2 has newer features, but he is still working on symbol support

at any rate, when you install Olly - there is a menu item that allows you to set the JIT exception handler to Olly
once you do that, Olly will come up instead of the windows error messages

INT 3 generates an "invalid opcode" exception, causing the JIT handler to come up
so, to debug at a specific spot, we temporarily insert an INT 3 into the code

ragdog

@Dave

Grincheux mean the Radasm source code debugger not Olly

Grincheux

RagDog, you are right.
I have tested this possibility.
My program opens a file for reading (*.exe). Into visual community 2015 debugger I have no problem but using RadAsm I cannot read the file.
My breakpoint is set far from this point.


ragdog

Can you make a small Project for testing?

Grincheux


HSE

Hi Grincheux!

What compiler are you using? Apparently the RadAsm Debugger only work with ML. (for sure, in Jwasm the options for debugging don't work)
Equations in Assembly: SmplMath

jj2007

Quote from: HSE on December 21, 2015, 03:55:15 AM(for sure, in Jwasm the options for debugging don't work)

They work perfectly, I use them every day.

HSE

Very funny jj!

You can't delete the context.

In that case the expression is:
    (for sure, in Jwasm the options for debugging with RadAsm Debugger don't work)
Equations in Assembly: SmplMath


ragdog

The Radasm source code debugger works fine