How to debug this?

delphi package - automated exception handling
Post Reply
sanjayk
Posts: 12
Joined: Tue Oct 01, 2013 3:15 am

How to debug this?

Post by sanjayk »

Delphi 2007, MadExcept 3.0o:

It's most likely a bug in VirtualTrees component (old version) that I'm using. Any ideas how to debug and fix this?

Code: Select all

exception message : Access violation at address 00618363 in module 'myprogram.exe'. Read of address 00000288.

thread $848 (TWorkerThread):
00618363 +ef myprogram.exe VirtualTrees 5283 +30 TWorkerThread.Execute
00453053 +2b myprogram.exe madExcept             HookedTThreadExecute
0047a9fc +34 myprogram.exe Classes               ThreadProc
00405d48 +28 myprogram.exe System         70  +0 ThreadWrapper
00452f35 +0d myprogram.exe madExcept             CallThreadProcSafe
00452f9f +37 myprogram.exe madExcept             ThreadExceptFrame
77741192 +10 kernel32.dll                             BaseThreadInitThunk
>> created by main thread ($f30) at:
00405da8 +50 myprogram.exe System         70  +0 BeginThread

main thread ($f30):
77a193f1 +00a USER32.dll                                 WaitMessage
004e44ce +13a myprogram.exe Forms          8647 +28 TApplication.Idle
004e36b6 +01e myprogram.exe Forms          8217  +1 TApplication.HandleMessage
004e3a2f +0c3 myprogram.exe Forms          8316 +20 TApplication.Run
00b3f542 +1be myprogram.exe myprogram  134 +60 initialization
77741192 +010 kernel32.dll                               BaseThreadInitThunk

thread $8f0:
77b15cda +0a ntdll.dll     NtWaitForWorkViaWorkerFactory
77741192 +10 kernel32.dll  BaseThreadInitThunk

thread $aa8: <priority:2>
77a128aa +3b USER32.dll                   GetMessageA
00452f35 +0d myprogram.exe madExcept CallThreadProcSafe
00452f9f +37 myprogram.exe madExcept ThreadExceptFrame
77741192 +10 kernel32.dll                 BaseThreadInitThunk
>> created by main thread ($f30) at:
77742838 +1b kernel32.dll                 CreateThread

thread $df0:
77b15cda +0a ntdll.dll     NtWaitForWorkViaWorkerFactory
77741192 +10 kernel32.dll  BaseThreadInitThunk

thread $ff0:
77b15cda +0a ntdll.dll     NtWaitForWorkViaWorkerFactory
77741192 +10 kernel32.dll  BaseThreadInitThunk

thread $904:
77b15caa +0a ntdll.dll     NtWaitForMultipleObjects
77741192 +10 kernel32.dll  BaseThreadInitThunk
madshi
Site Admin
Posts: 10753
Joined: Sun Mar 21, 2004 5:25 pm

Re: How to debug this?

Post by madshi »

Try updating to a new VirtualTrees version to see if it fixes that? If not, you'll have to ask the VirtualTrees developer about it (if he's still around), or alternatively dig into the VirtualTrees source code yourself.
sanjayk
Posts: 12
Joined: Tue Oct 01, 2013 3:15 am

Re: How to debug this?

Post by sanjayk »

Thanks. But is my interpretation correct that it's a Virtual Tree problem? Sometimes problem somewhere else shows up in something else and I don't want to spend the effort in the wrong direction.
madshi
Site Admin
Posts: 10753
Joined: Sun Mar 21, 2004 5:25 pm

Re: How to debug this?

Post by madshi »

Well, at least the crash occurred there. So it's a good guess - but not a guarantee - that VirtualTrees is at fault. You can only find out by looking into the VirtualTrees source code and analyzing what the code at the crash location (VirtualTrees.pas line 5283) was doing and why it might have crashed. That may give you some clues about whether it's likely to be the fault of VirtualTrees or not.
Post Reply