This post is constantly growing, it’s mainly for me remembering not making some fu**ups again… but it might be useful for you, too 😉
Debugging the server
Booting Helios with server.exe you can provide a couple of debugging switches to see what’s going on:
- A – All. Either enable all debugging, or disable any debugging which is currently active.
- B – Boot. Give a progress report while the root processor is being booted.
- C – Communications. Monitor transmissions to and from serial lines and similar devices.
- D – Delete. List all files and directories being deleted.
- E – Errors. Report any error messages generated by the I/O server.
- F – File I/O. Give details of miscellaneous file I/O activities such as renaming files.
- G – Graphics. Report any graphics transactions.
- H – Raw disc. List sector reads and writes on a raw disc device.
- I – Initialisation. Give a progress report as the I/O server initialises its various component servers.
- J – Directory. Show details of any directory accesses.
- K – Keyboard. Report any key presses.
- L – Logger. Cycle the error logging destination between screen-only, file-only, and both screen and file.
- M – Message. Report all messages sent to and from the I/O server.
- N – Names. Show the names of objects Helios is trying to access.
- O – Open. List all files that Helios is trying to open.
- P – Close. Report any file close requests sent by Helios.
- Q – Quit. Give a progress report when the I/O server tries to exit.
- R – Read. Monitor any file reads.
- S – Search. Report all distributed searches arriving at the I/O server.
- T – Timeouts. Report any stream timeouts that may occur.
- U – Nopop. In the Server windows system, toggle between pop and nopop mode.
- V – OpenReply. Give details of replies to Open, Create, and Locate requests.
- W – Write. Monitor any file writes.
- X – Resources. Produce a snap shot of what the I/O server is currently doing.
- Y – List. Give details of all debugging options.
- Z – Reconfigure. Re-read the configuration file host.con
Those switches can be combined, e.g. server -rw
Cool: If the debug-output becomes too much to read (i.e. on screen) you can toggle the setting by pressing ctrl-shift plus the corresponding character. E.g. “c” to mute all the traffic on the serial line.
Logging
Now that we get some info about what’s going on internally, it might be a bit too much to follow on the screen (and you can’t redirect the output with “server > output.txt”). But don’t despair, there’s a way to define a logfile in HOST.CON:
logging_destination = [screen | file | both]
logfile = logbook
So simply define where you want the logging to go (screen or file or both) and define a logfile name. In this case it will be written inlogbook in the Helios root directory.
Please mind that the logfile will be overwritten (not appended) each time you reboot!
Config-Files
I cannot repeat it often enough: ALL config files (but HOST.CON) are Unix-Formatted, ie. LF instead of LF+CR. So each time something is behaving strange, check your config files for proper formatting!
I’ve spent hours of debugging just to find out I had (again) “tainted” a config file by quickly having a look with edit.exe
:-/