Can anyone suggest a couple things for me?

I don't have a debugger for my ASM coding(I know..I know)
Can you recommend a freeware one that is good.

Also, with Windows Programming, Is there a nice list of all the API functions you can use and what they do. MSDN is what I use now, but its not much good if you don't know what you want. A linear list of all of them and a description of what they do would be perfect, if it exists.

And when Windows sends messages to your app, where would you find info on what messages are sent to your app when you affect the window, etc.

ie. I move the Mouse over the Non-Client area, what messages are sent, and in what oreder, etc.

Or if you are resizing a window, it sends a WM_SIZE,WM_PAINT, and who knows what else. Where would get hold of this info...
Is there a program that can be run in the background and shows the messages that a Window sends when you do stuff to it and then prints out the message or you?
Reason I ask is that alot of Windows is a trial and error process and alot you may never figure out. For example.
WM_GETMINMAXINFO - intercepting this and altering the track sizes allows you to restrict the min/max size of the window.

Very hard to figure this one out of the blue!!! For the longest time I was checking in the WM_PAINT the current window size and if it was too small, or too big I would adjust it. But of course that led to the ugly "snap-back" effect. If I knew about this WM_GETMINMAXINFO, I would have saved alot of headaches.
If I had a program that showed which messages were being sent when I was resizing the window, then I would have had a place to start and found it right away

anything like this exist?

thanx guys
Posted on 2001-12-31 21:53:12 by Rockinronstar
For the first part, I mainly use OllyDbg for ASM. This is a FAQ - please search the board for much advise. On the second part I use MSDN as well as the web/(this board), but I also have a couple API reference books that I take to the park/beach with me. :cool:
Posted on 2001-12-31 23:03:53 by bitRAKE
thanx Bitrake

where do you get OllyDbg?

does it support adding breakpoints into your code, like No$Cash for Gameboy Dev
ie. ld b,b

mov eax,eax

if it envounters something like this it treats it as a breakpoint?

thanx
Posted on 2001-12-31 23:19:39 by Rockinronstar
Visual C++ comes with a tool called Spy++ that allows you to view messages sent to applications.
Posted on 2001-12-31 23:22:24 by Mecurius
Google (c:
You can set break points. I still use int3 - I'm either lame or old. ;)
Posted on 2001-12-31 23:37:01 by bitRAKE
got it Bitrake.

Gonna play with it tomorrow.

Think I used this debugger a few months ago.

Will help immensely. Hard to code ASM without one!!
Posted on 2001-12-31 23:58:25 by Rockinronstar
I still like WINDBG, free from MS, even though I have yet to get it to work with symbols and MASM. There's a MSPDBxxx.DLL version problem. This is only true if you run 9x, it works great if you run NT (2K/XP). But if you open your source in one window, and the disassembly listing in another, sync them up, it's not a big deal.

WIN32.HLP is a pretty good API reference, but it is dated. Iczelion has one version available on his site. As for MSDN, they do have a category index to functions:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win32/catfunc_26m1.asp

And yup, SPY lists the messages sent to a program. But you need Visual Studio to get it (maybe VC++ ?). I think there is a shareware program that also does it, but I can't for the life of me remember where I saw it...

:)
Posted on 2002-01-01 00:15:29 by S/390
JFTR (just for the record), SPY comes with the PSDK or M$ debugging download.
(Debugging Tools for Windows: Yes, geared for Win2K/XP).
Posted on 2002-01-01 00:50:22 by bitRAKE
Posted on 2002-01-01 02:50:30 by peterverstappen
peterverstappen, that big link above wasn't enough? :grin:
Guess it doesn't stand out too much as being a valid link to get Ollydbg.
Posted on 2002-01-01 03:10:51 by bitRAKE
I wonder why no one use SoftIce Or trw,I always use trw if I work under Win9X,softice is more powerful....
Posted on 2002-01-02 06:00:08 by Hume
int3 is a nice way to break in your code. Usually pretty
fast to insert & rebuild, rather than tracing around to
find the spot and then inserting a "proper" breakpoint.
Well, when your debugger doesn't support symbol&line info
anyway.

Never had much luck with windbg, it was *SLOW* and cumbersome
when I tried it.

Hm, SPY comes with psdk, but isn't that a sort of "lite" spy?
At least not as user friendly as spyxx ;^).

Why not use softice/trw? trw is pretty unstable and you gotta
pay for it. Softice is pretty expensive (for hobbyists -
considering it's power it's not too bad if you have a company).
Also, softice for win2k and later kernels has some problems.

Oh, and what's the problem with platformsdk/msdn? If you need
to find something, you usually have an idea what you're searching
for... is it graphics? GDI? File operations? The hierarchial
structure of platformsdk makes it pretty easy to look up.
If you're looking for info on setting file pointer, you'd go to
base services->file storage->file I/O , and start snooping around
there.
Posted on 2002-01-02 06:29:22 by f0dder