I love MadExcept. It performs great and is very flexible. I own the commercial edition.
When I evaluated MadExcept, my graphics application was written in OpenGL. I have recently switched to DirectX, only to make a very disturbing discovery.
When I try to create the device, I get an access violation error if MadExcept is enabled. I wasted hours of my time trying to debug this - imagine how long it would take you to suppose MadExcept did this!
Anyways, here's the problematic code:
I am really scared/desparate/angry since I need the program to work, and if MadExcept can't be enabled I wasted my money.if FAILED(ddx.CreateDevice(D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL, Handle,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
@dxPresentParams, IDirect3DDevice9(dxDev)))
then begin
showmessage('DirectX CreateDevice() Failed. Graphics error #2');
end;
Oh, and I did try Pause(true), do my stuff, Pause(false). No change.
I will give a free copy of my program to whomever solves my problem when it is released, if interested. I really would appreciate any help I can get with this.
Thank you.
Here's the bug report:
date/time : 2009-05-26, 18:55:37, 543ms
computer name : PRIMARYDEKSTOP
user name : Maravelias <admin>
registered owner : Maravelias
operating system : Windows XP Media Center Service Pack 2 build 2600
system language : English
system up time : 4 days 11 hours
program up time : 1 second
processors : 4x Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
physical memory : 1099/3060 MB (free/total)
free disk space : (C:) 297.39 GB
display mode : 1680x1050, 32 bit
process id : $1668
allocated memory : 52.11 MB
executable : WS.exe
exec. date/time : 2009-05-26 18:55
version : 0.0.0.283
compiled with : Delphi 2006/07
madExcept version : 3.0i beta 2
contact name : paulmarv
contact email : paulmarv@comcast.net
callstack crc : $f44b829b, $0ba37459, $0ba37459
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 004073C8 in module 'WS.exe'. Write of address FFF7FFF8.
main thread ($f70):
004073c8 +00c WS.exe System 3016 +0 @DynArrayClear
0040679c +0d0 WS.exe System 3016 +0 @FinalizeArray
004066a0 +020 WS.exe System 3016 +0 @FinalizeRecord
00451150 +398 WS.exe madExcept HandleCreateThreadHook
00451265 +035 WS.exe madExcept HookedCreateRemoteThread
760846e1 +019 kernel32.dll CreateThread
005b82bc +0c4 WS.exe render 1643 +15 DXInit
005b846e +042 WS.exe render 1745 +7 Initialize
005c4e4a +062 WS.exe map 2774 +6 TFrmMap.FormCreate
004b6819 +039 WS.exe Controls TWinControl.UpdateControlOriginalParentSize
0046c38a +05a WS.exe Classes TList.Delete
004c3059 +031 WS.exe Forms TCustomForm.DoCreate
004c2d15 +011 WS.exe Forms TCustomForm.AfterConstruction
00404bb9 +01d WS.exe System 3016 +0 @AfterConstruction
004c2cec +174 WS.exe Forms TCustomForm.Create
004ae838 +074 WS.exe Controls TControl.DoConstrainedResize
004ae8bc +024 WS.exe Controls TControl.Perform
004ad4f2 +006 WS.exe Controls TControl.GetTextBuf
004cb991 +031 WS.exe Forms TApplication.CreateForm
005d7d99 +01d WS.exe main 71 +1 TFrmMain.Button2Click
005d7dd2 +016 WS.exe main 84 +2 TFrmMain.FormCreate
004c3059 +031 WS.exe Forms TCustomForm.DoCreate
004c2d15 +011 WS.exe Forms TCustomForm.AfterConstruction
00404bb9 +01d WS.exe System 3016 +0 @AfterConstruction
004c2cec +174 WS.exe Forms TCustomForm.Create
004cb991 +031 WS.exe Forms TApplication.CreateForm
005da09b +02f WS.exe WS 45 +2 initialization
7608490f +010 kernel32.dll BaseThreadInitThunk
thread $107c:
773f9242 +0a ntdll.dll NtWaitForMultipleObjects
7608c3de +00 kernel32.dll WaitForMultipleObjectsEx
771c0202 +00 USER32.dll MsgWaitForMultipleObjectsEx
771b9b53 +1a USER32.dll MsgWaitForMultipleObjects
00450c21 +0d WS.exe madExcept CallThreadProcSafe
00450c8b +37 WS.exe madExcept ThreadExceptFrame
7608490f +10 kernel32.dll BaseThreadInitThunk
>> created by main thread ($f70) at:
7433769f +00 gdiplus.dll
modules:
00400000 WS.exe 0.0.0.283 C:\Users\Maravelias\Documents\PMSoft\WS
04720000 igdumd32.dll 7.14.10.1409 C:\Windows\system32
10000000 lpng.dll C:\Users\Maravelias\Documents\PMSoft\WS
6a8f0000 AcGenral.DLL 6.0.6001.18165 C:\Windows\AppPatch
6dcf0000 AcLayers.dll 6.0.6001.18165 C:\Windows\AppPatch
6dd80000 DDRAW.dll 6.0.6001.18000 C:\Windows\system32
6e520000 d3d9.dll 6.0.6001.18000 C:\Windows\system32
6e740000 opengl32.dll 6.0.6000.16386 C:\Windows\system32
6e8a0000 GLU32.dll 6.0.6000.16386 C:\Windows\system32
6f910000 olepro32.dll 6.0.6001.18000 C:\Windows\system32
6fb60000 dwmapi.dll 6.0.6001.18000 C:\Windows\system32
71ec0000 d3d8thk.dll 6.0.6000.16386 C:\Windows\system32
727f0000 sfc_os.DLL 6.0.6001.18000 C:\Windows\system32
72800000 ShimEng.dll 6.0.6000.16386 C:\Windows\system32
72ac0000 sfc.dll 6.0.6000.16386 C:\Windows\system32
72b80000 WINSPOOL.DRV 6.0.6001.18000 C:\Windows\system32
73ac0000 MSACM32.dll 6.0.6001.18000 C:\Windows\system32
73bc0000 SHUNIMPL.dll 6.0.6000.16386 C:\Windows\system32
73cb0000 OLEACC.dll 4.2.5406.0 C:\Windows\system32
73fb0000 winmm.dll 6.0.6001.18000 C:\Windows\system32
74160000 DCIMAN32.dll 6.0.6000.16386 C:\Windows\system32
74320000 gdiplus.dll 5.2.6001.18065 C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.0.6001.18065_none_9e7abe2ec9c13222
74640000 wsock32.dll 6.0.6001.18000 C:\Windows\system32
74970000 comctl32.dll 6.10.6001.18000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc
74c70000 UxTheme.dll 6.0.6001.18000 C:\Windows\system32
74f10000 msimg32.dll 6.0.6000.16386 C:\Windows\system32
75280000 version.dll 6.0.6001.18000 C:\Windows\system32
755f0000 MPR.dll 6.0.6001.18000 C:\Windows\system32
75890000 NETAPI32.dll 6.0.6001.18157 C:\Windows\system32
759d0000 apphelp.dll 6.0.6001.18000 C:\Windows\system32
75a60000 SAMLIB.dll 6.0.6001.18000 C:\Windows\system32
75a80000 NTMARTA.DLL 6.0.6001.18000 C:\Windows\system32
75ab0000 Secur32.dll 6.0.6001.18215 C:\Windows\system32
75ad0000 USERENV.dll 6.0.6001.18000 C:\Windows\system32
75b80000 PSAPI.DLL 6.0.6000.16386 C:\Windows\system32
75c20000 IMM32.DLL 6.0.6001.18000 C:\Windows\system32
75c40000 SHLWAPI.dll 6.0.6001.18000 C:\Windows\system32
75ca0000 WLDAP32.dll 6.0.6001.18000 C:\Windows\system32
75cf0000 ole32.dll 6.0.6001.18000 C:\Windows\system32
75e40000 USP10.dll 1.626.6001.18000 C:\Windows\system32
75ec0000 URLMON.DLL 7.0.6001.18226 C:\Windows\system32
75ff0000 iertutil.dll 7.0.6001.18226 C:\Windows\system32
76040000 kernel32.dll 6.0.6001.18215 C:\Windows\system32
76120000 SETUPAPI.dll 6.0.6001.18000 C:\Windows\system32
762b0000 WS2_32.dll 6.0.6001.18000 C:\Windows\system32
762e0000 msvcrt.dll 7.0.6001.18000 C:\Windows\system32
76390000 shell32.dll 6.0.6001.18167 C:\Windows\system32
76ea0000 GDI32.dll 6.0.6001.18159 C:\Windows\system32
76ef0000 oleaut32.dll 6.0.6001.18000 C:\Windows\system32
76f80000 RPCRT4.dll 6.0.6001.18051 C:\Windows\system32
77050000 comdlg32.dll 6.0.6001.18000 C:\Windows\system32
770d0000 ADVAPI32.dll 6.0.6001.18000 C:\Windows\system32
771a0000 USER32.dll 6.0.6001.18000 C:\Windows\system32
772d0000 wininet.dll 7.0.6001.18226 C:\Windows\system32
773a0000 ntdll.dll 6.0.6001.18000 C:\Windows\system32
774d0000 Normaliz.dll 6.0.6000.16386 C:\Windows\system32
774e0000 NSI.dll 6.0.6001.18000 C:\Windows\system32
774f0000 LPK.DLL 6.0.6001.18000 C:\Windows\system32
77530000 MSCTF.dll 6.0.6001.18000 C:\Windows\system32
processes:
0000 Idle 0
0004 System 0
01ac smss.exe 0
01f0 csrss.exe 0
022c wininit.exe 0
0238 csrss.exe 1
025c winlogon.exe 1
0280 services.exe 0
028c lsass.exe 0
0298 lsm.exe 0
0334 svchost.exe 0
0370 svchost.exe 0
0398 svchost.exe 0
03f4 svchost.exe 0
0414 svchost.exe 0
042c svchost.exe 0
046c audiodg.exe 0
0488 SLsvc.exe 0
04a8 svchost.exe 0
04f8 DockLogin.exe 0
0544 svchost.exe 0
0600 WLTRYSVC.EXE 0
0628 BCMWLTRY.EXE 0
06a0 spoolsv.exe 0
06c0 svchost.exe 0
02a8 mDNSResponder.exe 0
03b4 FileZilla server.exe 0
07e8 lxdfcoms.exe 0
064c GoogleUpdate.exe 0
01d8 mdm.exe 0
086c svchost.exe 0
0880 PSIService.exe 0
08a4 SbieSvc.exe 0
08e0 svchost.exe 0
0914 ViewpointService.exe 0
092c k9filter.exe 0
094c svchost.exe 0
0960 SearchIndexer.exe 0
0a28 XAudio.exe 0
0a30 WUDFHost.exe 0
0ba8 UI0Detect.exe 0
0d00 taskeng.exe 0
0f58 Dwm.exe 1 high C:\Windows\system32
0f88 taskeng.exe 1 normal C:\Windows\system32
0adc MSASCui.exe 1 normal C:\Program Files\Windows Defender
0608 igfxpers.exe 1 normal C:\Windows\System32
0b68 lxdfmon.exe 1 normal C:\Program Files\Lexmark 6500 Series
01c8 lxdfamon.exe 1 normal C:\Program Files\Lexmark 6500 Series
0cb4 igfxsrvc.exe 1 normal C:\Windows\system32
0660 wmpnetwk.exe 0
1020 Explorer.EXE 1 normal C:\Windows
0fb8 usnsvc.exe 0
1228 wuauclt.exe 1 normal C:\Windows\system32
1094 notepad++.exe 1 normal C:\Program Files\Notepad++
0ef0 bds.exe 1 normal C:\Program Files\Borland\BDS\4.0\Bin
1598 GoogleUpdate.exe 1 normal C:\Users\Maravelias\AppData\Local\Google\Update
1160 WMPNSCFG.exe 1 normal C:\Program Files\Windows Media Player
15d4 wmplayer.exe 1 normal C:\Program Files\Windows Media Player
07ec mfpmp.exe 1
0bd4 firefox.exe 1 normal C:\Program Files\Mozilla Firefox
0f00 SearchProtocolHost.exe 0
1494 SearchFilterHost.exe 0 idle C:\Windows\system32
1668 WS.exe 1 normal C:\Users\Maravelias\Documents\PMSoft\WS
hardware:
+ Computer
- ACPI x86-based PC
+ Disk drives
- Hitachi HDP725050GLA360 ATA Device
- Lexmark USB Mass Storage USB Device
- TEAC USB HS-CF Card USB Device
- TEAC USB HS-MS Card USB Device
- TEAC USB HS-SD Card USB Device
- TEAC USB HS-xD/SM USB Device
+ Display adapters
- Intel(R) G33/G31 Express Chipset Family (driver 7.14.10.1409)
+ DVD/CD-ROM drives
- HL-DT-ST DVD+-RW GSA-H73N ATA Device
+ Human Interface Devices
- HID-compliant consumer control device
- HID-compliant device
- Premium Tilt Wheel (HID) (driver 1.0.0.4)
- USB Human Interface Device
- USB Human Interface Device
- USB Human Interface Device
+ IDE ATA/ATAPI controllers
- ATA Channel 0
- ATA Channel 0
- ATA Channel 1
- ATA Channel 1
- Intel(R) ICH9 Family 2 port Serial ATA Storage Controller 2 - 2926 (driver 8.3.0.1016)
- Intel(R) ICH9R/DO/DH 4 port Serial ATA Storage Controller 1 - 2920 (driver 8.3.0.1016)
+ IEEE 1394 Bus host controllers
- AGERE OHCI Compliant IEEE 1394 Host Controller
+ Imaging devices
- Lexmark 6500 Series (driver 1.0.0.0)
- Monitor Webcam
+ Keyboards
- HID Keyboard Device
+ Mice and other pointing devices
- HID-compliant mouse
+ Microsoft Common Controller For Windows Class
- Xbox 360 Wireless Receiver for Windows
+ Modems
- Conexant D850 PCI V.92 Modem (driver 7.58.0.50)
+ Monitors
- Generic PnP Monitor
+ Network adapters
- Dell Wireless 1505 Draft 802.11n WLAN Mini-Card (driver 4.102.15.61)
- Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.0) (driver 6.202.125.2008)
+ Portable Devices
- USB HS-CF Card
- USB HS-MS Card
- USB HS-SD Card
- USB HS-xD/SM
- USB Mass Storage
+ Printers
- Lexmark 6500 Series (driver 1.0.5.1)
+ Processors
- Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
- Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
- Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
- Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
+ Sound, video and game controllers
- Monitor Webcam
- Realtek High Definition Audio (driver 6.0.1.5548)
+ Storage controllers
- Microsoft iSCSI Initiator
+ Storage volume shadow copies
- Generic volume shadow copy
- Generic volume shadow copy
- Generic volume shadow copy
- Generic volume shadow copy
- Generic volume shadow copy
- Generic volume shadow copy
- Generic volume shadow copy
+ System devices
- ACPI Fan
- ACPI Fixed Feature Button
- ACPI Power Button
- ACPI Thermal Zone
- Direct memory access controller
- High Definition Audio Controller
- High Precision Event Timer (driver 7.0.0.1011)
- Intel(R) 82801 PCI Bridge - 244E (driver 7.0.0.1011)
- Intel(R) 82802 Firmware Hub Device
- Intel(R) G33/G31/P35/P31 Express Chipset PCI Express Root Port - 29C1 (driver 8.4.0.1017)
- Intel(R) G33/G31/P35/P31 Express Chipset Processor to I/O Controller - 29C0 (driver 8.4.0.1017)
- Intel(R) ICH9 Family PCI Express Root Port 1 - 2940 (driver 8.3.0.1016)
- Intel(R) ICH9 Family PCI Express Root Port 4 - 2946 (driver 8.3.0.1016)
- Intel(R) ICH9 Family PCI Express Root Port 5 - 2948 (driver 8.3.0.1016)
- Intel(R) ICH9 Family SMBus Controller - 2930 (driver 8.3.0.1008)
- Intel(R) ICH9R LPC Interface Controller - 2916 (driver 8.3.0.1016)
- Microsoft ACPI-Compliant System
- Microsoft System Management BIOS Driver
- Motherboard resources
- Motherboard resources
- Motherboard resources
- Numeric data processor
- PCI bus
- Plug and Play Software Device Enumerator
- Programmable interrupt controller
- System board
- System CMOS/real time clock
- System speaker
- System timer
- Terminal Server Keyboard Driver
- Terminal Server Mouse Driver
- UMBus Enumerator
- UMBus Enumerator
- UMBus Root Bus Enumerator
- Volume Manager
+ Universal Serial Bus controllers
- CA-200 (driver 1.1.0.0)
- Generic USB Hub
- Generic USB Hub
- Intel(R) ICH9 Family USB Universal Host Controller - 2934 (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB Universal Host Controller - 2935 (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB Universal Host Controller - 2936 (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB Universal Host Controller - 2937 (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB Universal Host Controller - 2938 (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB Universal Host Controller - 2939 (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB2 Enhanced Host Controller - 293A (driver 8.3.0.1011)
- Intel(R) ICH9 Family USB2 Enhanced Host Controller - 293C (driver 8.3.0.1011)
- USB Composite Device
- USB Composite Device
- USB Composite Device
- USB Mass Storage Device
- USB Printing Support
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
cpu registers:
eax = 0012f5d4
ebx = 0012f5d8
ecx = fff80000
edx = 00416010
esi = 00416010
edi = 00000001
eip = 004073c8
esp = 0012f43c
ebp = 0012f5fc
stack dump:
0012f43c a1 67 40 00 04 00 00 00 - b3 60 41 00 b8 f5 12 00 .g@......`A.....
0012f44c d4 f5 12 00 a5 66 40 00 - 50 f4 12 00 00 00 00 00 .....f@.P.......
0012f45c f6 10 45 00 55 11 45 00 - 5d 11 45 00 78 55 b9 00 ..E.U.E.].E.xU..
0012f46c a8 f6 12 00 01 00 00 00 - 00 00 00 00 00 00 00 00 ................
0012f47c 86 21 18 00 18 bb 1a 00 - f0 2b 0a 76 00 01 00 00 .!.......+.v....
0012f48c c4 f3 12 00 66 04 00 00 - 14 f5 12 00 34 98 3a 77 ....f.......4.:w
0012f49c db ad fe 16 fe ff ff ff - 1f 86 40 77 52 86 40 77 ..........@wR.@w
0012f4ac c8 be 1a 00 d0 be 1a 00 - 00 00 00 00 70 7e 3e 77 ............p~>w
0012f4bc 00 00 00 00 24 f5 12 00 - 31 32 06 76 00 00 18 00 ....$...12.v....
0012f4cc 00 00 00 00 c8 be 1a 00 - dd 31 06 76 4c cb 33 ce .........1.vL.3.
0012f4dc 78 55 b9 00 b0 4c dc 00 - 01 00 00 00 64 04 66 04 xU...L......d.f.
0012f4ec d0 be 1a 00 38 00 3a 00 - 00 fc fd 7f 18 bb 1a 00 ....8.:.........
0012f4fc d0 be 1a 00 00 00 00 00 - 00 00 52 6e 00 00 00 00 ..........Rn....
0012f50c d8 f4 12 00 80 c7 08 76 - f4 f6 12 00 89 e2 04 76 .......v.......v
0012f51c 88 0f 27 b8 fe ff ff ff - dd 31 06 76 88 94 06 76 ..'......1.v...v
0012f52c 00 fc fd 7f 00 00 00 00 - 00 00 00 00 58 f5 12 00 ............X...
0012f53c c3 94 06 76 64 f5 12 00 - 00 00 00 00 00 00 00 00 ...vd...........
0012f54c 78 55 b9 00 b0 4c dc 00 - 01 00 00 00 6c f6 12 00 xU...L......l...
0012f55c a2 e9 53 6e ac e9 53 6e - 43 3a 5c 57 69 6e 64 6f ..Sn..SnC:\Windo
0012f56c 77 73 5c 73 79 73 74 65 - 6d 33 32 5c 64 33 64 39 ws\system32\d3d9
disassembling:
004073bc public System.@DynArrayClear: ; function entry point
004073bc 3016 ecx, [eax]
004073be ecx, ecx
004073c0 loc_4073f5
004073c2 dword ptr [eax], 0
004073c8 > lock dword ptr [ecx-8]
004073cc loc_4073f5
004073ce eax
004073cf eax, ecx
004073d1 ecx, ecx
004073d3 cl, [edx+1]
[...]