en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en nl en en en en en en en en en en en pt en en en en en de en en en en en nl en en en en en en en en en en en en en en en en en en en en en en en en en en es en en en en en en en nl en en en en en en en en en en en en nl en en en en fa en en en hbs_lat en en en en en en en en en en en en en fr en da en en en en de en en en fr en en en en en en en en en pt en en en en en en
By logging into your account, you agree to our Privacy Policy, personal data processing and storage practices as described therein.
Forgot password or user name?
Search in titles only Search in PowerBASIC for Windows only
You are not logged in. You can browse in the PowerBASIC Community, but you must click Login (top right) before you can post. If this is your first visit, check out the FAQ or Sign Up.
All Time Today Last Week Last Month
All Discussions only Photos only Videos only Links only Polls only Events only
ran it in PB9 IDE under the debugger, ran it outside of PB9. Used
OurUnhandledExceptionFilter() but it didn't really tell me anything I didn't already know.
Are there any industrial-strength tools to try and figure this out?
My eventlog (Vista) showed this once:
Faulting application PIDS.EXE, version 1.0.0.0, time stamp 0x00003039, faulting module PIDS.EXE, version 1.0.0.0, time stamp 0x00003039, exception code 0xc0000005, fault offset 0x0002a9a0, process id 0x8a4, application start time 0x01c9db40e46f7ea7.
Usually it shows this:
Faulting application PIDS.EXE, version 1.0.0.0, time stamp 0x00003039, faulting module PIDS.EXE, version 1.0.0.0, time stamp 0x00003039, exception code 0xc000008f, fault offset 0x0002e5af, process id 0x1b80, application start time 0x01c9db40601b7507.
Join Date: Feb 1999
22 May 2009, 10:24 PM
This is a personal opinion, but personally I have found that it is some times better to "be" the debugger, rather than "depend" upon a debugger.
What I mean is that a software based debugger is limited, since it is not intelligent. Don't get me wrong, software debuggers are useful when used correctly, but they can't replace the intelligent mind of an experienced programmer.
More often I find things like a messagebox or even the beep command a better debugger than letting software do it. One must examine all the information your application provides and logically find the most probable cause of a problem.
One of the best places to start is a pencil and paper (I know, its awfully high tech). Run your application and make notes on paper of when the application crashes (what were you doing at the time). Note all the details that make be important.
Now see if you can replicate the crash. You should be able to do the exact same steps every time and it should behave exactly the same way every time (aka. crash).
Now examine the source code which was executed during or just before the crash (you should be able to figure out logically where it is).
The point is, don't depend upon the debugger so much. "Be" the debugger.
I have dealt with memory corruption before and often the app will crash at a place that simply put "does not make sense". The problem is that code executed earlier, did the memory corruption, but only later does other code "die" because of it.
This is why a notepad where you jot down all the details about exactly how your app is made to crash is important.
You try all sorts of ways to make your app crash, but only when you follow steps A,B,C, D does it crash.
The app is crashing in step D.
The code which is executed at that point looks fine.
Now when you follow steps A,B, E, J, D in that order, the code in step D does not crash.
Because memory was corrupted in possibly step C and because you didn't do step C, the step D does not crash.
You need to look at step D and then start tracing backwards to see what code was executed before it (when it crashed) and likely the culprit in somewhere in that earlier code.
Join Date: May 1994
22 May 2009, 11:44 PM
I would definitely play with TRACE statements to selectively cover small or large groups of code. I have found this helpful as well for homing in on code errors and oversights. Things like out of bounds can often be pinpointed more closely for some cases. If you turn trace on and off several times it hleps rather on big continual trace.
Have you Googled exception code 0xc000008f and exception code 0xc000008f. Might turn up a lead there for your particuar situation. Are you interacting with other programs. ports, etc.?
Join Date: Aug 1998
23 May 2009, 09:20 AM
0005 is a page fault (request access to memory not owned)...but 008F (143d)?
%STATUS_FLOAT_INEXACT_RESULT = &HC000008F??? ... %EXCEPTION_FLT_INEXACT_RESULT = %STATUS_FLOAT_INEXACT_RESULT
EXCEPTION_FLT_INEXACT_RESULT The result of a floating-point operation cannot be represented exactly as a decimal fraction.
Figuring that one out is way beyond my pay grade.
Based on described application...all I can think of is, yes, you really did corrupt something somewhere.
Whoa there... just a minute....
I don't see #DEBUG ERROR ON there. That may be enabled automatically when running in the stepping debugger (I don't use the SD), but that's the one which will tell you when you commit an array bounds violation.
I'd also suggest #DEBUG OVERFLOW ON , but that does not exist. Send those new feature suggestions to [email protected]
Also, take a look at Cliff Nichols' new (this week) debugging code. I haven't tried it, but it might be useful to you.
Last edited by Michael Mattias; 23 May 2009, 09:27 AM.
Port Washington WI USA
Copyright © 1998-2022 PowerBASIC Tools, LLC - All Rights Reserved.
Powered by vBulletin® Version 5.7.0
Copyright © 2022 vBulletin Solutions, Inc. All rights reserved.
All times are GMT-5. This page was generated at 04:08 AM.
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.