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.
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.
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!
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