1. Error Return Code?
- Posted by Todd Riggins <triggins at ev1.net> Jan 30, 2001
- 549 views
- Last edited Jan 31, 2001
Hiya, one of the main problems with my dx game library for Euphoria is that if there is an Euphoria related error that happens when the eu prorgram is using the DirectDraw fullscreen mode, the DirectDraw surface will still remain and the Euhporia Error pop-up window can not be shown. So, is there a way to send a message to my dll stating that there has been a Euphoria related error? If so, then I can shut down DirectX so the Euphoria error can be seen. I just need to know how to do this if it's possible and will definetly save alot of confusion. Thanks for any help... hopefully I'm not overlooking the way to do this if it's possible... ------------------------------------- Todd Riggins ------------------------------------- Exotica DX Game Library For Euphoria ------------------------------------- Exotica Website: http://exotica.iwarp.com/exotica.html ------------------------------------- Exotica Forum: http://pub19.ezboard.com/bexoticadxgamelibrary ------------------------------------- ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
2. Re: Error Return Code?
- Posted by Robert Craig <rds at RapidEuphoria.com> Jan 30, 2001
- 504 views
- Last edited Jan 31, 2001
Todd Riggins writes: > Hiya, one of the main problems with my dx game library for > Euphoria is that if there is an Euphoria related error that > happens when the eu prorgram is using the DirectDraw fullscreen > mode, the DirectDraw surface will still remain and the Euhporia > Error pop-up window can not be shown. I don't know of anything you can do in that case (other than try hard to avoid having Euphoria errors). I guess this is another vote for a global exception handler of some kind. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
3. Re: Error Return Code?
- Posted by Colin Taylor <ctaylor at racsa.co.cr> Jan 31, 2001
- 516 views
You can add my vote, too. - Colin Taylor Robert Craig wrote: > > I guess this is another vote for a global > exception handler of some kind. > ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
4. Re: Error Return Code?
- Posted by Kat <gertie at PELL.NET> Jan 31, 2001
- 524 views
On 31 Jan 2001, at 6:11, Colin Taylor wrote: > You can add my vote, too. > > - Colin Taylor > > > Robert Craig wrote: > > > > I guess this is another vote for a global > > exception handler of some kind. Mine too, i'd prefer the program know what it is doing. Is it possible for the error handler to also get the execution path that led to the error, like is printed out in ex.err? Kat ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
5. Re: Error Return Code?
- Posted by Robert Craig <rds at RapidEuphoria.com> Jan 31, 2001
- 499 views
- Last edited Feb 01, 2001
Chris Bensler writes: > Rob? Does Eu free dll's? If the interpreter finishes normally, the .dll's will all be freed (at the very end - too late for Todd Riggins to clear the screen and see the error message). Note that if your program is stopped due to the interpreter detecting an error, that's still a normal shutdown for the interpreter itself. If the interpreter crashes with a memory access violation or something, a lot of stuff is freed, but I'm not sure if everything is freed. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
6. Re: Error Return Code?
- Posted by Euman <euman at bellsouth.net> Feb 01, 2001
- 506 views
> Chris Bensler writes: > > Rob? Does Eu free dll's? > > Robert writes: > If the interpreter finishes normally, > the .dll's will all be freed (at the very end - > too late for Todd Riggins to clear the screen > and see the error message). > Why then does MemCheck and BoundsChecker report Resource Leaks because DLL's aren't being free'd under Win32Lib? And this is being reported after normal program termination. euman
7. Re: Error Return Code?
- Posted by Euman <euman at bellsouth.net> Feb 01, 2001
- 502 views
> Chris Bensler writes: > > Rob? Does Eu free dll's? > > Robert writes: > If the interpreter finishes normally, > the .dll's will all be freed (at the very end - > too late for Todd Riggins to clear the screen > and see the error message). > Why then does MemCheck and BoundsChecker report Resource Leaks because DLL's aren't being free'd under Win32Lib? And this is being reported after normal program termination. euman
8. Re: Error Return Code?
- Posted by Robert Craig <rds at RapidEuphoria.com> Feb 01, 2001
- 516 views
Euman writes: > Why then does MemCheck and BoundsChecker > report Resource Leaks because DLL's aren't > being free'd under Win32Lib? What does the report say exactly? Are those tools available on the Web somewhere? I've had no complaints of dlls not being freed. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
9. Re: Error Return Code?
- Posted by Robert Craig <rds at RapidEuphoria.com> Feb 01, 2001
- 513 views
Chris Bensler writes: > I've had many syntax errors, where EU shuts down and reports, > but the ms-dos window remains hidden behind the > DirectX window.. This is what Todd reported already. It sounds like it might be fixed if the DirectX dll is closed first. I agreed that a global exception handler in Euphoria might be a solution. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
10. Re: Error Return Code?
- Posted by Wolf <wolfritz at KING.IGS.NET> Feb 01, 2001
- 508 views
> I've been noticing some resource leaks recently (just using windows' > resource meter) using win32lib, regardless of the way Eu shuts down. I > guess that would explain it... .. and GPF mysteriously *only* 20 percent of the time, ( on shutdown ), .. even tho *exactly* the same events were triggered before shutdown...
11. Re: Error Return Code?
- Posted by Euman <euman at bellsouth.net> Feb 01, 2001
- 621 views
> Euman writes: > > Why then does MemCheck and BoundsChecker > > report Resource Leaks because DLL's aren't > > being free'd under Win32Lib? > > Robert write: > What does the report say exactly? > Are those tools available on the Web somewhere? > > I've had no complaints of dlls not being freed. > What confuses me is that Euphoria has openDLL and Robert say's these DLL's are unLoaded on program exit (I dont think so Robert) My Guess is that Win32Lib will have to have FreeLibrary Added after WinMain( ) to compensate. Keep in Mind that I was told, in future versions of Win32Lib that FreeLibrary would be put in, unless Robert want's to fix this. Not sure about this HeapAlloc (below) though. I left *ALOT* out of this for size sake, the original is 708k This Report was Generated by MemCheck 5.0 A trial version of MemCheck is here: BoundsChecker also output nearly Identicle info. My copy came with Borland C++ Builder 5.0 A trial version can be D/L'd from: http://www.numega.com/ Euman Overwrite detected on HeapAlloc block * Corruption Detected * Current location: HeapFree in WOTIDY7_FULL.EXE <see stack trace> More info: Block address: LPVOID 1C22070h Detailed Info: Overwrite condition detected on an allocated block referenced in the HeapFree <see stack trace>. The guard bytes of block 01C22070h, size 26, have been changed, resulting in data and/or heap corruption. The block was allocated by a HeapAlloc <see stack trace> in module WOTIDY7_FULL.EXE. To pinpoint the location of the actual corruption, use BugCrusher mode or the mc_check_buffers() API. Parameters: hHeap is HANDLE 1B20000h (28442624) Number of free blocks: 2 Number of used blocks: 42 Memory allocated in heap: 908 bytes dwFlags is DWORD 0h (0) lpMem is LPVOID 1C22070h (29499504) Heap Block is USED Size: 32 Stack Trace: kernel32.DLL! HeapFree WOTIDY7_FULL.EXE! ___CPPdebugHook + 4EAEh WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 69D80h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 6AFF3h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 62890h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 62A48h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 1D3E5h Thread ID: FFF167C7h Prio: THREAD_PRIORITY_NORMAL (0) More information about this resource: Value: LPVOID 1C22070h (internal type: PHEAP_BLOCK_WIN) Size: 1Ah (26) bytes Block lies in a Windows heap. Heap block status: USED Allocation #512 Allocated with HeapAlloc * Free with HeapFree * Heap Block is USED Size: 32 Created by HeapAlloc in WOTIDY7_FULL.EXE <see stack trace> Stack Trace: kernel32.DLL! HeapAlloc WOTIDY7_FULL.EXE! ___CPPdebugHook + 4EAEh WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 6A021h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 6A9FAh WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 62441h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 62A48h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 1D3E5h Heap Block is USED Size: 32 Library loaded: user32.dll * Runtime Info * Current location: LoadLibraryA in WOTIDY7_FULL.EXE <see stack trace> More info: Module handle: BFF50000h Detailed Info: No more info available. Stack Trace: kernel32.DLL! LoadLibraryA WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 79DCAh WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 7A61Ah WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 649B3h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + E5Ah WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 8815Ah No owning module for EIP 0h, trace ended. Thread ID: FFF167C7h Prio: THREAD_PRIORITY_NORMAL (0) Library loaded: kernel32.dll <SNIP> save space..........ALMOST SAME INFO as above. Library loaded: user32.dll <SNIP> Library loaded: riched20.dll <SNIP> Library loaded: comctl32.dll <SNIP> Library loaded: gdi32.dll <SNIP> ** AND After Normal Program Termination No FreeLibrary for LoadLibraryA * Resource Leak * More info: Library Name: riched20.dll Detailed Info: The resource named 'riched20.dll' was not freed. HMODULE value 48000000h (1207959552) was allocated by LoadLibraryA <see stack trace> in WOTIDY7_FULL.EXE. Use FreeLibrary to release it when you're done. Thread ID: FFF167C7h Prio: THREAD_PRIORITY_NORMAL (0) More information about this resource: Resource name: riched20.dll Value: HMODULE 48000000h Allocation #6 Allocated with LoadLibraryA Free with FreeLibrary Module name: "C:\WINDOWS\SYSTEM\RICHED20.DLL" Created by LoadLibraryA in WOTIDY7_FULL.EXE <see stack trace> Stack Trace: kernel32.DLL! LoadLibraryA WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 79DCAh WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 7A61Ah WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 649B3h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 21D86h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + B2B4h WOTIDY7_FULL.EXE! __GetExceptDLLinfo + 8815Ah No owning module for EIP 0h, trace ended. Module name: "C:\WINDOWS\SYSTEM\RICHED20.DLL" No FreeLibrary for LoadLibraryA * Resource Leak * More info: Library Name: shell32.dll <SNIP> save space..........ALMOST SAME INFO as above. No FreeLibrary for LoadLibraryA * Resource Leak * More info: Library Name: comctl32.dll Detailed Info: The resource named 'comctl32.dll' was not freed. <SNIP> No FreeLibrary for LoadLibraryA * Resource Leak * More info: Library Name: gdi32.dll Detailed Info: The resource named 'gdi32.dll' was not freed. <SNIP> No FreeLibrary for LoadLibraryA * Resource Leak * More info: Library Name: user32.dll Detailed Info: The resource named 'user32.dll' was not freed. <SNIP> No FreeLibrary for LoadLibraryA * Resource Leak * More info: Library Name: kernel32.dll Detailed Info: The resource named 'kernel32.dll' was not freed. <SNIP> Number of API failures: 154 Number of Extent errors: 0 Number of GDI errors: 0 Number of general errors: 0 Number of guard byte overwrite errors: 1 Number of invalid parameter errors: 366 ** Not include because of size Number of Windows resource leaks: 22 ** All not included because of size 'Euman' Number of memory leaks: 0 ** 0 Because of Euphoria's Runtime ** No way I can check this. Number of transfer destination overwrite errors: 0
12. Re: Error Return Code?
- Posted by Robert Craig <rds at RapidEuphoria.com> Feb 01, 2001
- 499 views
Euman writes: > Overwrite detected on HeapAlloc block You should copy euphoria\include\safe.e to your application's directory and rename safe.e as machine.e in that directory. Then run your program. safe.e does the same kind of checks as MemCheck, but any errors will relate directly to your Euphoria source program. By the way, I downloaded MemCheck, and it reported dll's not unloaded, but that's fixed now. It reported some other errors too, but they are not really errors. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
13. Re: Error Return Code?
- Posted by Robert Craig <rds at RapidEuphoria.com> Feb 01, 2001
- 531 views
Matt Lewis writes: > If you do this in windows, you'll have problems, > unless you add some calls to register_block whenever > Eu uses memory handed to it by windows (esp > structures passed through WM_NOTIFY messages). Right. Thanks for reminding me. machine.e defines register_block() and unregister_block() as no-ops, so it would be possible to put these calls into Win32Lib and run with either safe.e or machine.e. Of course, if there are a million places where it has to be done it wouldn't be worth it. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
14. Re: Error Return Code?
- Posted by Euman <euman at bellsouth.net> Feb 01, 2001
- 511 views
> Euman writes: > > Overwrite detected on HeapAlloc block > > You should copy euphoria\include\safe.e to > your application's directory and rename safe.e > as machine.e in that directory. Then run your program. > If you do this in windows, you'll have problems, unless you add some calls >to register_block whenever Eu uses memory handed to it by windows (esp >structures passed through WM_NOTIFY messages). >Matt Lewis I seem to remember this comeing up oh, a half dozen times. > By the way, I downloaded MemCheck, and it reported > .dll's not unloaded, but that's fixed now. It reported > some other errors too, but they are not really errors. > I hope the program U chose to evaluate was fairly large and complex. I got so many different errors I cant count them all. The program RUNS FINE and does what it's supposed to, however, I'm leaning towards Win32Lib being the culprit for most of them. Still, I personally like the idea of haveing the very minimum errors as possible to ensure user's of my programs have the safest possible binaries. I only wish I knew more about the Win API. > Regards, > Rob Craig > Rapid Deployment Software > http://www.RapidEuphoria.com > > >
15. Re: Error Return Code?
- Posted by tony_bucholtz at HOTMAIL.COM Feb 02, 2001
- 494 views
G'day all >On 31 Jan 2001, at 6:11, Colin Taylor wrote: > > You can add my vote, too. > >- Colin Taylor > >> >>Robert Craig wrote: >> >>I guess this is another vote for a global >>exception handler of some kind. I'll vote for this too. Regards Tony