View previous topic :: View next topic |
Author |
Message |
X-Tools Valued Contributor
Joined: 20 Sep 2001 Posts: 296 Location: Germany
|
Posted: Thu Jun 19, 2003 6:57 am Post subject: Single Step Debugging |
|
|
Hi,
if I try single step debugging (or running script in ide), then stop
and reset to debug again, the ide hangs.
Do you have this too ?
Bye, Fabian |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Thu Jun 19, 2003 7:49 am Post subject: |
|
|
No. Does your script use an extension? _________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
X-Tools Valued Contributor
Joined: 20 Sep 2001 Posts: 296 Location: Germany
|
Posted: Thu Jun 19, 2003 8:45 am Post subject: debugger |
|
|
yes, many |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Jun 20, 2003 9:56 am Post subject: |
|
|
It's probably an extension issue then. I had this exact problem when using an extension I'd written quickly which didn't free stuff it was using if it was terminated unexpectedly.
This is for the benefit of extension authors. Extensions should always use the Delphi "finalization" to execute code to free resources, close handles and generally return things to the state they were in when the extension started. They must not rely on the script executing some "close" function, because this won't happen if there is a run-time error or if you reset in the debugger. _________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
CodeScript Moderator Team
Joined: 08 Jun 2003 Posts: 1060 Location: India
|
Posted: Fri Sep 26, 2003 6:09 pm Post subject: |
|
|
This is slightly different :
It occured only once though. No extensions used.
The exception Single Step
A single step or trace operation has just been completed.
(0x80000004) occurred in the application at location 0x00f23a67.
Click on OK to terminate the program
What I want to bring to notice is all the hard error dialogs instead of just notifying once enter into an endless loop and sometimes end up Hardwre reset even under XP. (hardly any app does this extent in XP it's so robust). Is it possible to break this infinite looping. If so API users will be very happy.
EDIT: If the error message is objectionable moderators please edit it/inform me . _________________ Regards
- CodeScript
Give your application a professional look with the VDSGUI Extension |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Sep 26, 2003 7:50 pm Post subject: |
|
|
It's not possible to build protection for VDS when APIs are called with the wrong parameters. It's not something that would ever happen in other programming languages because you would be using a function prototype so the compiler would stop you and point out the error before you ever tried to run it. Your on your own to the same extent that you would be calling APIs in assembler. You can completely mess up the stack so that the program goes berserk when it returns from the API function using the wrong return address.
At the risk of upsetting some people again, I have to say that when I read about such problems it makes me think that this feature should never have been included, or at least not publicised. A lot of good has come out of this feature, but people who use it have to understand that it is entirely at their own risk because there is no control over what happens if you get things wrong. It really would be better to develop an extension in any language of your choice and let the compiler make sure that you are calling the APIs correctly. _________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
CodeScript Moderator Team
Joined: 08 Jun 2003 Posts: 1060 Location: India
|
Posted: Sat Sep 27, 2003 3:33 am Post subject: |
|
|
Quote: | It's not possible to build protection for VDS when APIs are called with the wrong parameters. |
I very much understand jules but this error ocurred at a time when no API was called nor any extension was used. I was talking of the universal nature of any serious error dialog even for example Elist error etc which occcurs sometimes even on opening the IDE fresh after a clean reboot and the error message keeps popping up endlesssly. This doesnot occur for example in VDS 4 for that matter given the very same error (not Elist error) as that in VDS 5.
Passing wrong prameters/structures to API calls without ability of strict check implemented in advanced languages can wreak havoc and take down the entire system. I never expect that something be done to prevent this in VDS and don't even think that it is possible.
Quote: | At the risk of upsetting some people again, I have to say that when I read about such problems it makes me think that this feature should never have been included, or at least not publicised. |
Sorry jules if I hurt you but if it were a API problem I would hvae never posted here in the first place.
And please don't consider that this feature shouldn't have been given. I am very grateful to you and everybody who implemnted this feature. I don't expect that support be provided for this or even bug fixes in this area as it takes really *large* amount of time which is plainly unaffordable for CR/VDS developers .. and how many are using them directly I am sure it is not even 2 digits to count. I am not posting any API bug reports here* if It's OK then I will directly report to CR just for their knowldge - not that I want bugfixes or anything.
*I should not make people think VDS is buggy which is NOT the case. It is very stable and reliable for what it has been designed for. _________________ Regards
- CodeScript
Give your application a professional look with the VDSGUI Extension
Last edited by CodeScript on Sat Sep 27, 2003 3:54 am; edited 5 times in total |
|
Back to top |
|
|
FreezingFire Admin Team
Joined: 23 Jun 2002 Posts: 3508
|
Posted: Sat Sep 27, 2003 3:35 am Post subject: |
|
|
I agree. I probably would not be using VDS anymore if it weren't
for the API parts. _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Sat Sep 27, 2003 8:35 am Post subject: |
|
|
Well, all I can say is that was a very strange error you received, which I have never seen before. I have some thoughts on how it could have arisen, but I'd rather not mention them here...
I know that the Oops! error message sometimes is persistent, but on the whole I would rather have that behavior than "VDS has caused an error and will close" giving you no chance whatever to recover anything. It's easy enough to terminate VDS on those occasions where the error messages refuse to stop. _________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
FreezingFire Admin Team
Joined: 23 Jun 2002 Posts: 3508
|
Posted: Sat Sep 27, 2003 1:50 pm Post subject: |
|
|
A common "Oops!" error I run into is this:
1. Open VDS 5
2. Click the "New" button
3. Double click on the "Untitled" tab name
4. Double click on the titlebar on the window that separates from the tabset
5. You receive the following error:
---------------------------
Oops!
---------------------------
VDS has caused an exception of class "EListError".
It may be wise to save your work, close VDS and then
restart it.
---------------------------
OK
--------------------------- _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
|
FreezingFire Admin Team
Joined: 23 Jun 2002 Posts: 3508
|
Posted: Sat Sep 27, 2003 9:39 pm Post subject: |
|
|
After some hard developing (no API or extensions at all) I was
bombarded with these "Oops!" messages. It was so bad
it was making it hard for me to end the process.
Here's a screenshot of what it looked like when it first started
happening:
_________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Sun Sep 28, 2003 6:05 pm Post subject: |
|
|
Yes this happens to me sometimes. The messasge occurs when otherwise the program would just crash. The point of it is to give a chance of recovering something, but of course depending on the nature of the crash that isn't always possible. I guess it doesn't happen often enough to me that I didn't think killing VDS on those occasions would be too inconvenient. Some kind of Yes/No option would probably be better, but it may be too late now to do anything about that. _________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
vdsalchemist Admin Team
Joined: 23 Oct 2001 Posts: 1448 Location: Florida, USA
|
Posted: Mon Sep 29, 2003 1:28 pm Post subject: |
|
|
Hi Jules & everyone,
I have had this happen to me more times than I care to mention right now. I don't know about the rest of you but I for one cannot recover VDS from this error. Why? Well everytime that I have gotten this error it keeps poping up over and over again which means that I cannot click on a toolbar button or save a file from the file menu or anything without getting another popup message. So my question to Jules is, how does one know that VDS has done anything? From the users point of view it has not completed the command? It has not saved any files nor has it did anything? It is just throwing one error after another even when you try to close VDS with the X or with the file menu. So the only thing that a user can do at that point is use Taskmanager to kill VDS. I have even had it so stuck with over 100 of the screens to the point that not even Taskmanager could kill it. I had to shutdown my PC and reboot.
The problem is that the Popup message box runs in the same Thread as the application and it is attached to error event that never goes to a close event or returns back to a stable execution path. So once this message pops up the first time then every time you try to close VDS this message pops up and the application becomes persistant because it never branches off to close the application and end execution.
IMHO this is not a good way to handle catastrophic errors in an application since there is the potential that we can make our system become unstable using NON-VDS DLL's. I would much rather VDS just die then to keep throw error message after error message and not let me close it. _________________ Home of
Give VDS a new purpose!
|
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Mon Sep 29, 2003 3:12 pm Post subject: |
|
|
Yes, when this occurred in VDS 3 and 4 the error was usually a one-off and it wasn't much of a problem. The VDS 5 IDE is somewhat more complicated, it has timer based processes and it also has dockable stuff which I'd probably have thought twice about doing if I'd realised at the time how bad Delphi's docking code is. I've modified the behavior now so that you get a chance to decide whether to close the IDE or not. I hope I can stop making changes soon so there is a chance that this update can actually get released... _________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
FreezingFire Admin Team
Joined: 23 Jun 2002 Posts: 3508
|
Posted: Mon Sep 29, 2003 7:26 pm Post subject: |
|
|
If you were to say this was the last change you're making how long
would you estimate that the next release would be out? I can't
wait to try the new APIs I've been wanting to test that require
a few more parameters. _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
|
|