Thankyou for testing norms debugger.
This is designed for use with Dark Basic Classic.
what this does ....

Well, first to describe the problem.
I use DarkEdit alot and it does alot of good things.
But, when DB encounters an error in an include file,
the error message is almost useless. Well, this helps.

My debugger scans the source file (no changes are made
to the source code) for all your included files.
Then, it creates a master file with all the includes.
Then, it calls DB.exe to compile the master file.
then, if there is an error, it reports where the actual
error is located, and will even open that source if
desired.

The master file is saved as *.MFN just in case you wish
to re-examine the actual full program source code.

What this will not do .....
single step code
this is not an editor
pre-processor stuff (exception ... the #Icon macro see below)
scan nested include files (when an included file also has an included file)
This is only to help with finding errors.

This program can be installed anyplace, but I keep all my
odd programs in the Dark Basic/Tools folder.

The settings for using this program are in the file
Debugger.INI
Before using this program, check all the settings to be sure
they are correct. The default editor is notepad.exe
because everyone has that one. But you will need to
verify all the paths, like to DB.exe and so forth.
Also, you need to direct your default editor to use
my tool to compile instead of directly launching DB.exe.
the Silent setting seems complicated, but its pretty
simple. My little tool generates a few messages
while its running, most can be ignored. The silent
value is how many to ignore. 0 indicates you wish to
view all, while 3 would be to ignore all but things
that cause my tool to exit early (like not being able
to find DB.exe or unable to NotePad.exe ) and so on.

An example of a message to ignore is
"Compilation Successfull".
Since that gets relayed back to your editor, you don't
need my tool to also tell you. A silence level of 1
hides that. Also, if an error is reported that is
in the main source, and not in an include, you might
want to ignore that for the same reason. A silence level
of 2 will do that.

This app is not designed to be run alone. Its designed
for 1 purpose: help locate bugs in included files.
If you run it alone, it will just launch in setup mode.

Just Added an extra setting... ModIt. See .INI file for full
docs. Basically, this will permit my tool to modify the
DBCompiler.log file to add some extra information to it.
But, this information only applies to when you create an
.EXE file. Normally, DB does not specify which kind of EXE
was made. Setting this (ModIt) to 1 will change the default
STANDALONE EXECUTABLE SAVED
to
STANDALONE EXECUTABLE SAVED : WITH MEDIA
or
STANDALONE EXECUTABLE SAVED : NO INCLUDED MEDIA
usefull for when you can't remember which button you pressed.

Just added a setup mode. Run the program solo to enter setup
information simply. Much better than just using the .ini file.

Just added some new features in Feb 2007.
Now it can place icons directly into your game app.
In your main source file, add this code ...
#Icon "yourbitmap.bmp"

Setup Window Settings:
The most important ones are:
DB Compiler . press the browse button on the right to scearch for where
you installed DB.exe on your computer

Editor ...... press the browse button on the right to scan for your editor of choice. I use Dark Edit version 1.56.

The other options are grouped by subject:
Silence Level is used to decide how many messages my debugger will bother you about. At first, you can set this to ALL to see what they are. Then maybe set this to NONE so all messages are supressed.

Editing Options are used to determine how my debugger affects the editor and the compiler logs. 
If you check the "Open Include Files" my debugger will launch your editor and display the include module in a new window. Unfortunatelly, the error log get reported back to the original editor window so the line will not be highlighted. 
Setting the option "Change Error Line" will change the error reported to your original editor to identify the include file and correct line number.

"Show Build Mode" will also change the compiler log to show the build mode you selected before compiling.

Checking the "Delete Temp File" will remove those pesky files that editors and my debugger creates. Dark Edit creates *.tmp and *.bak for every file. My debugger creates *.MFN files. Checking this will remove all these files (not the *.bak ones though).

Checking the "Delete Work Files" will remove any temp bitmaps or icons created by my debugger when creating a icon for your app. Its best not to delete them, because by re-using them, it minimizes compile times (this app will need to rebuild them every compile). But, when finished, you can select this to remove them. The way this app creates Icons for your app is by editing the actual image stored in the compiler, and saving the compiler under the icon name (youricon.exe) and then calling the compiler under this new name. The original DB.exe is never modified.

Checking the "Globals" check box will enable dim support inside include files.
DBC does not normally do this. This permits moving all your dims to the include file for easy sorting.
The down side is if you try to use the default editor, or maybe another editor without this dubugger,
your code will not work because of the missing DIMs are not executed. Also causes some other concerns...

First - In your #include file, 
place a label at the top. You will call this with a gosub from your main file

Second - In your #include file
Place a "return" before the start of your functions

Third - WARNING ONLY
If your include file calls other include files, those will not be called now
Actually,they are never called anyway if you use my tool.

Forth - In you main app
Add the Gosub (Label) to call your dims in the include file

Lastly - Any dims you need to use in your main app still
need to be dimmed or the compiler will freak out.


Report any issues to
mycat98501@yahoo.com
and visit my website
www.archonrpg.com

thank you
Norman Perry