关闭表单在 00000258 处产生访问冲突

发布于 2024-11-16 04:30:11 字数 6365 浏览 5 评论 0原文

最近,当我通过“关闭”按钮将其关闭时,我的日志记录表单开始产生访问冲突。

使用 madExcept,我在调用堆栈中找不到任何(对我来说)有用的东西,或者实际上找不到任何东西。

这是我的日志:

date/time         : 2011-06-19, 16:26:06, 851ms
computer name     : JEFF-PC
user name         : Jeff <admin>
registered owner  : Microsoft / Microsoft
operating system  : Windows 7 x64 Service Pack 1 build 7601
system language   : Danish
system up time    : 4 hours 27 minutes
program up time   : 13 seconds
processors        : 8x Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
physical memory   : 2852/6142 MB (free/total)
free disk space   : (C:) 321,83 GB
display mode      : 1920x1080, 32 bit
process id        : $1e70
allocated memory  : 77,05 MB
executable        : xSky.exe
exec. date/time   : 2011-06-19 16:25
version           : 1.4.25.1168
compiled with     : Delphi 2010
madExcept version : 3.0l
contact name      : Jeff Hansen
contact email     : [email protected]
callstack crc     : $85c8cb0e, $11baad03, $46cd9070
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 0052A237 in module 'xSky.exe'. Read of address 00000258.

main thread ($7b0):
0052a237 +0003 xSky.exe     Controls      11847   +1 TWinControl.HandleNeeded
0052a25d +0005 xSky.exe     Controls      11856   +1 TWinControl.GetHandle
006742c5 +6735 xSky.exe     sSkinProvider            TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
770c0117 +002b ntdll.dll                             KiUserCallbackDispatcher
76950d48 +0016 USER32.dll                            CallWindowProcW
0052758c +00d8 xSky.exe     Controls       9860  +30 TWinControl.DefaultHandler
0054be0a +005a xSky.exe     Forms          5223  +11 TCustomForm.DefaultHandler
00529177 +00a3 xSky.exe     Controls      11042  +20 TWinControl.WMSysCommand
0054cedd +0055 xSky.exe     Forms          5832  +14 TCustomForm.WMSysCommand
00522bc8 +02d4 xSky.exe     Controls       7062  +91 TControl.WndProc
0052748c +0568 xSky.exe     Controls       9819 +144 TWinControl.WndProc
00549b98 +0594 xSky.exe     Forms          3960 +191 TCustomForm.WndProc
00673672 +5ae2 xSky.exe     sSkinProvider            TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
769496c0 +0047 USER32.dll                            SendMessageW
006712ed +375d xSky.exe     sSkinProvider            TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
769496c0 +0047 USER32.dll                            SendMessageW
0067f857 +073f xSky.exe     sSkinProvider            TacBorderForm.BorderProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
76947885 +000a USER32.dll                            DispatchMessageW
00552d55 +011d xSky.exe     Forms          9784  +30 TApplication.ProcessMessage
00552d9a +000a xSky.exe     Forms          9814   +1 TApplication.HandleMessage
005530c5 +00c9 xSky.exe     Forms          9951  +26 TApplication.Run
007e493b +008f xSky.exe     xSky             54  +10 initialization
750f33c8 +0010 kernel32.dll                          BaseThreadInitThunk

thread $b8c:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $129c:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $1748:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $1ac8:
770d0146 +0e ntdll.dll     NtWaitForMultipleObjects
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $a88 (TWorkerThread):
770cf8ba +0e ntdll.dll                             NtWaitForSingleObject
74f20810 +92 KERNELBASE.dll                        WaitForSingleObjectEx
750f118f +3e kernel32.dll                          WaitForSingleObjectEx
750f1143 +0d kernel32.dll                          WaitForSingleObject
006d0129 +19 xSky.exe       VirtualTrees           TWorkerThread.Execute
004666af +2b xSky.exe       madExcept              HookedTThreadExecute
004a1656 +42 xSky.exe       Classes      11018  +8 ThreadProc
00406cf0 +28 xSky.exe       System       13579 +33 ThreadWrapper
00466591 +0d xSky.exe       madExcept              CallThreadProcSafe
004665fb +37 xSky.exe       madExcept              ThreadExceptFrame
750f33c8 +10 kernel32.dll                          BaseThreadInitThunk
>> created by main thread ($7b0) at:
006d006e +16 xSky.exe       VirtualTrees           TWorkerThread.Create

thread $1fb0:
76947908 +26 USER32.dll    GetMessageW
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $1fc8:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $15dc (TacTimerThread):
770d0146 +0e ntdll.dll                           NtWaitForMultipleObjects
74f2095c +fa KERNELBASE.dll                      WaitForMultipleObjectsEx
750f1a27 +89 kernel32.dll                        WaitForMultipleObjectsEx
004a4e06 +56 xSky.exe       SyncObjs     339 +14 THandleObject.WaitFor
005f54b0 +0c xSky.exe       acThdTimer  6852  +0 TacTimerThread.Execute
004a1656 +42 xSky.exe       Classes    11018  +8 ThreadProc
00406cf0 +28 xSky.exe       System     13579 +33 ThreadWrapper
00466591 +0d xSky.exe       madExcept            CallThreadProcSafe
004665fb +37 xSky.exe       madExcept            ThreadExceptFrame
750f33c8 +10 kernel32.dll                        BaseThreadInitThunk
>> created by main thread ($7b0) at:
005f55a1 +0d xSky.exe       acThdTimer  6852  +0 TacThreadedTimer.StartTimer

在这种情况开始发生之前,我对项目所做的唯一更改是向我的项目添加了一个表单,然后再次将其删除。它的所有痕迹都已被删除,但我的日志表单仍然令人恶心。

记录表单是自动创建表单。我所做的就是 frmLog.Show;

一如既往,这可能是非常愚蠢的事情,但我就是想不通。

我没有在任何“表单关闭”事件中执行任何操作。

编辑:当双击 Mad 中的顶部调用堆栈项时,我需要单元 Controls,以及 if WindowHandle = 0 then in procedure TWinControl.HandleNeeded; 行。

Recently my Logging Form started producing Access Violations, when I close it on the Close button.

Using madExcept, I could not find anything usefull (to me) in the Call Stack, or anything actually.

Here is my log:

date/time         : 2011-06-19, 16:26:06, 851ms
computer name     : JEFF-PC
user name         : Jeff <admin>
registered owner  : Microsoft / Microsoft
operating system  : Windows 7 x64 Service Pack 1 build 7601
system language   : Danish
system up time    : 4 hours 27 minutes
program up time   : 13 seconds
processors        : 8x Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
physical memory   : 2852/6142 MB (free/total)
free disk space   : (C:) 321,83 GB
display mode      : 1920x1080, 32 bit
process id        : $1e70
allocated memory  : 77,05 MB
executable        : xSky.exe
exec. date/time   : 2011-06-19 16:25
version           : 1.4.25.1168
compiled with     : Delphi 2010
madExcept version : 3.0l
contact name      : Jeff Hansen
contact email     : [email protected]
callstack crc     : $85c8cb0e, $11baad03, $46cd9070
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 0052A237 in module 'xSky.exe'. Read of address 00000258.

main thread ($7b0):
0052a237 +0003 xSky.exe     Controls      11847   +1 TWinControl.HandleNeeded
0052a25d +0005 xSky.exe     Controls      11856   +1 TWinControl.GetHandle
006742c5 +6735 xSky.exe     sSkinProvider            TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
770c0117 +002b ntdll.dll                             KiUserCallbackDispatcher
76950d48 +0016 USER32.dll                            CallWindowProcW
0052758c +00d8 xSky.exe     Controls       9860  +30 TWinControl.DefaultHandler
0054be0a +005a xSky.exe     Forms          5223  +11 TCustomForm.DefaultHandler
00529177 +00a3 xSky.exe     Controls      11042  +20 TWinControl.WMSysCommand
0054cedd +0055 xSky.exe     Forms          5832  +14 TCustomForm.WMSysCommand
00522bc8 +02d4 xSky.exe     Controls       7062  +91 TControl.WndProc
0052748c +0568 xSky.exe     Controls       9819 +144 TWinControl.WndProc
00549b98 +0594 xSky.exe     Forms          3960 +191 TCustomForm.WndProc
00673672 +5ae2 xSky.exe     sSkinProvider            TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
769496c0 +0047 USER32.dll                            SendMessageW
006712ed +375d xSky.exe     sSkinProvider            TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
769496c0 +0047 USER32.dll                            SendMessageW
0067f857 +073f xSky.exe     sSkinProvider            TacBorderForm.BorderProc
00526b2c +002c xSky.exe     Controls       9540   +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe     Classes       13014   +8 StdWndProc
76947885 +000a USER32.dll                            DispatchMessageW
00552d55 +011d xSky.exe     Forms          9784  +30 TApplication.ProcessMessage
00552d9a +000a xSky.exe     Forms          9814   +1 TApplication.HandleMessage
005530c5 +00c9 xSky.exe     Forms          9951  +26 TApplication.Run
007e493b +008f xSky.exe     xSky             54  +10 initialization
750f33c8 +0010 kernel32.dll                          BaseThreadInitThunk

thread $b8c:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $129c:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $1748:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $1ac8:
770d0146 +0e ntdll.dll     NtWaitForMultipleObjects
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $a88 (TWorkerThread):
770cf8ba +0e ntdll.dll                             NtWaitForSingleObject
74f20810 +92 KERNELBASE.dll                        WaitForSingleObjectEx
750f118f +3e kernel32.dll                          WaitForSingleObjectEx
750f1143 +0d kernel32.dll                          WaitForSingleObject
006d0129 +19 xSky.exe       VirtualTrees           TWorkerThread.Execute
004666af +2b xSky.exe       madExcept              HookedTThreadExecute
004a1656 +42 xSky.exe       Classes      11018  +8 ThreadProc
00406cf0 +28 xSky.exe       System       13579 +33 ThreadWrapper
00466591 +0d xSky.exe       madExcept              CallThreadProcSafe
004665fb +37 xSky.exe       madExcept              ThreadExceptFrame
750f33c8 +10 kernel32.dll                          BaseThreadInitThunk
>> created by main thread ($7b0) at:
006d006e +16 xSky.exe       VirtualTrees           TWorkerThread.Create

thread $1fb0:
76947908 +26 USER32.dll    GetMessageW
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $1fc8:
770d1f2f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll  BaseThreadInitThunk

thread $15dc (TacTimerThread):
770d0146 +0e ntdll.dll                           NtWaitForMultipleObjects
74f2095c +fa KERNELBASE.dll                      WaitForMultipleObjectsEx
750f1a27 +89 kernel32.dll                        WaitForMultipleObjectsEx
004a4e06 +56 xSky.exe       SyncObjs     339 +14 THandleObject.WaitFor
005f54b0 +0c xSky.exe       acThdTimer  6852  +0 TacTimerThread.Execute
004a1656 +42 xSky.exe       Classes    11018  +8 ThreadProc
00406cf0 +28 xSky.exe       System     13579 +33 ThreadWrapper
00466591 +0d xSky.exe       madExcept            CallThreadProcSafe
004665fb +37 xSky.exe       madExcept            ThreadExceptFrame
750f33c8 +10 kernel32.dll                        BaseThreadInitThunk
>> created by main thread ($7b0) at:
005f55a1 +0d xSky.exe       acThdTimer  6852  +0 TacThreadedTimer.StartTimer

The only change I did to my project, before this started happening, was that I added a form to my Project, and later removed it again. All traces of it has been removed, however my Log form still pukes AV's.

The Logging Form is an Auto-Create form. All I do to show it, is frmLog.Show;

Its probably something really stupid, as always, but I just cant figure it out.

I am not doing anything in any of the Form Close events.

EDIT: When doubleclicking the top Call Stack item in Mad, it took me to unit Controls, and the line if WindowHandle = 0 then in procedure TWinControl.HandleNeeded;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酸甜透明夹心 2024-11-23 04:30:11

关闭你的皮肤,看看它是否仍然会爆炸。这可能不是根本原因,但调用堆栈中的皮肤内容可能会掩盖真正的问题。

Turn off your skins and see if it still blows up. That's probably not the root cause, but having the skin stuff in the call stack may be obscuring the real problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文