Message board for the users of flat assembler.
> Windows > Debuging Windows applications using current Fresh features
Well, the one of the biggest problems in FASM programming is lack of debug information in compiled executables. Perhaps, this is not a big problem for advanced FASM users, but for beginers it can be confusing and may kill the plesure of work.
So, Fresh IDE is intended to fix this problem with its source level debuger, but unfortunately it is not finished yet and is almost useless.
Nevertheless, Fresh already contains some features, that can help debuging applications. I use them all the time, but maybe not everyone knows about these features, so I decided to write short guide about "Fresh debuging features". Note, that these features will be improved in next releases, so this "guide' should be considered temporary.
Here, I am writing about the latest "work" version of Fresh.
1. Source level debuger: there is big lack of features. Although, if you place some "int3" instruction somewhere in your program and run it with "F9" = mainmenu("Debug"|"Run"), the program will stop at the breakpoint and you can trace it instruction by instruction. The same is for any exception raised in your code - you will be able to look at the exact place in the source where exception occurs.
Unfortunately in this mode you can only see the source and the registers. More in next releases...
2. Function "goto address" - Ctrl+G or mainmenu(Debug|Goto address).
This function ask you for address and tryes to find the source line with this address. Very usefull when working with external debuger.
3. You can run program directly in external debuger with Shift+F8 or mainmenu(Debug|External debuger). Of cource, prior, you have to set proper path to external debuger in mainmenu(Options|IDE options) .
4. Labels explorer: after compilation, show all used symbols, constants, structures, etc. with its values. Call it from mainmenu(Project|Labels explorer). This is the feature that can help you to know what address have this or that label, constant, etc.
I hope, this small part of future Fresh debuging functions will help you to debug your FASM applications more easy.
In the next releases, we are intended to improve source level debuger and other debuging tools in Fresh to the very high level, able to replace any external tool.
|09 Aug 2004, 20:24||
What I don't get is that debuggers can run only code that does "nothing". I
mean it doesn't alter the display(put any output to console or draw a dialog
or messagebox). If anything like that happens, the debugger usually stalls
or outputs wierd errors, why is that?
As an example I tried Windows's own calc.exe, and if the debugger runs, no
action is going on at the dialog, but when hitting run and starting to calculate
debugger doesn't know what to do...and exits
It's hard to debug visual applications when only possible way is to debug
registers and memory. I've even gone so far that I drew my app in ASCII to
the memory, how fun is that?
|12 Aug 2004, 14:40||
< Last Thread | Next Thread >
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.