I have a user that is having issues. I do not have access to his machine, and i rather not make him install a remote access.
So i know the error is happening at line N.
Is it possible to “report” all variables at lines N-1, with values and such, so he can send it to me?
Subject: What’s wrong with remote access?
I find that’s the best way to see what’s going on. Just have the user install VNC. Talk the user through it…doesn’t take too long (but know what you’re talking about first) and then see what’s happening to Notes.
I find it’s a good thing to do because you can see how users are manipulating the forms. sometimes they do things that you don’t expect, and you’ll never know about it unless you see it. User will fill out forms backwards from the bottom up just because that’s how they received information; they’ll open the preview pane just a little bit so they can click the buttons on forms that YOU thought were only being clicked in full read/edit mode. They do all sorts of things.
Sometimes a user will get themselves in a bind. I have no idea how they did it, but I can usually figure out what the data problem is. By taking control of the user’s computer I can create a smarticon and fix the problem with the document’s data, and avoid having a data integrity issue.
Go remote and save yourself lots of trouble.
Subject: no install rights.
The problem is that they don’t have install rights.
On second thoughts, is that weird to expect notes to generate a variables dump on error?
It looks pretty simple and normal.
Subject: None at all? Then get that changed.
VNC can be installed at the user level, so if the user can install anything at all, he can probably install VNC.
LotusScript provides an error handling process. It’s up to you to write what it does.
My error process will create a document in a separate db called the Error Log, along with a copy of the document that caused the error. I get the name of the procedure, the line the error occurred on, the error itself, and the calling procedure (along with username, dbname, and servername, because sometimes that data is important.) With that I can usually put the copy into my development system and recreate the error.
Subject: no install rights.
I do that, and i have that information.
But one variable is having a wrong value, and i can not reproduce.
Subject: Can you log messages?
As part of my error logging system I can also log a message. It’s like logging an error, but you can do it any time you want. One example use of mine is to see when users attempt to exit a document without saving, after having performed a tasks that forces them to save. They’re not let out of the document, and they save. I just want to see who’s trying it, so I log a message.
You can use such a function to capture variable values (and don’t forget datatypes) at various points during processing.
Subject: debugger + print screen
You don’t give much details, so I am assuming this is a notes client running some type of agent.
Have the user turn on debugger (Tools>Debug Lotusscript). have them run the agent, and just click the “Continue” button. When the error pops up, have them click OK, then click the “Variables” tab at the bottom of the debugger dialog. Have them take a print screen, close debugger, disable debugger, and send you the screenshot.
You MIGHT have to have them expand items in the variables window - just depends on the complexity of the script/items.
Subject: Report Variables State?
Thanks. But I want to avoid that. While it might be simple for us, it is not for normal users.
Actually, I find strange that there is no “variables dump” function (at least that i know off), in notes.
So, any other options?
Subject: check out openlog
I don’t know of command to do the dump you’re looking for. But I do know a set of scripts you can add to do this:
The OpenLog database, available as an open-source project at http://www.OpenNTF.org .
Subject: agent logging
Easiest thing is to set up logging to a central db (look in openntf). Then you can code it so it reports any data you want and you can tell what’s going on