Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

Exception mit ntdll.dll, Quelle nicht feststellbar

  Alt 19. Nov 2013, 11:55
Delphi-Version: 2007
Hallo mal wieder!

Mein Projekt, dass seit Erzeugung vor einem Jahr fehlerfrei gelaufen ist, spinnt seit heute total. Nach dem Zufallsprinzip geht es -im fertigen .exe Modus- einfach kommentarlos zu, und beim Starten in Delphi kommt nach einiger Zeit folgendes Zustande:

Zitat:
---------------------------
Benachrichtigung über Debugger-Problem
---------------------------
In Projekt <ProjektExe> trat ein Problem mit folgender Meldung auf: 'access violation at 0x68746f20: read of address 0x68746f20'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK
---------------------------
Der komplette Aufruf-Stack ist voll mit:
:77050133 ntdll.KiUserExceptionDispatcher + 0xf
:7709b46b ; ntdll.dll
es steht nichts anderes im Aufruf-Stack drinnen.

Das Programm hat mehrere Threads, die unter anderem mit MAPI auf Outlook, und ADO auf eine Datenbank zugreifen. In den Threads wird mit CoInitialize etc. gearbeitet. In den Threads habe ich mir bei on E: Exception einen Haltepunkt und Logbuchausgabe gemacht, ich habe das Programm mehrmals mit (jeweils einzeln installiert) EurekaLog und MadExcept gestartet --> beide liefern bei diesem Fehler keine Untersuchungsmöglichkeit, bekommen also noch nicht mal mit, dass es hier ein Problem gibt.

Ich vermute, es gibt hier speziell bei dem Synchronize() der Threads irgendwelche Probleme, da beim Debuggen in Delphi in der "Threads-Liste" der erste Thread in der Liste (also (wohl?) der VCL/Hauptthread) mit "Fehler" steht.

Ich bin Euch schon sehr dankbar, wenn mir bei dem aktuellen Problem weiter geholfen werden kann, noch mehr interessiert mich allerdings:
-Wie kommt man selbst einem solchen Problem auf die Schliche?
-Was (zur Hölle) kann ich mit den ganzen Pointer-Adressen anfangen? Wie komm ich von der Pointer-Adresse auf eine Prozedur, ein Objekt oder sonst etwas?
-Was kann ich als Entwickler der Software mit "access violation at 0x68746f20: read of address 0x68746f20" anfangen? Wie finde ich Objekte und Variablen heraus, die auf diesen Speicherbereich verweisen?
-Ich habe mir zwar hier das Debug-Tutorial auf der Seite durchgelesen, finde dort aber keine Herangehensweise die mir hier hilt, außer im Prinzip "alles Auskommentieren und solange wieder Zeilenweise hinzufügen, bis der Fehler wieder Auftritt". Das kann bei einem riesen Projekt mit zig möglichen Threads als Auslöser ja nicht die einzige Mögliche herangehensweise sein, oder? Gerade da der Fehler sporadisch Auftritt, fällt es schwer zu sagen, ob das Problem durch auskommentieren von X-Zeilen nun gelöst ist oder nicht...

In letzter Zeit ist die Delphi-IDE wieder häufiger -beim eintippen, nicht beim ausführen- komplett mit einer ähnlichen ntdll.dll Meldung abgestürzt. Kann das was damit zu tun haben?

*** EDIT 2: Ich habe das Projekt nun doch nach Delphi 2010 migriert, dort scheint das Abfangen mit EurekaLog zu funktionieren. Ist dies das Selbe oder ein anderes Problem? Hier scheint es laut dem Log einen Deadlock oder Stacküberlauf mit dem WM_MouseMove der TSectionListBox (Komponente von TMSsoftware.com) zu geben?

Code:
EurekaLog 7.0.6.72 RC 11 

Exception:
-------------------------------------------------------------------------------------------------------------
  2.2 Address: 76F79B56
  2.5 Type  : EAccessViolation
  2.6 Message: Zugriffsverletzung bei Adresse 76F79B60 in Modul 'msvcrt.dll'. Schreiben von Adresse 00190000.
  2.7 ID    : 5BC70000
  2.11 Sent : 0

User:
-----------------
  3.2 Name : name
  3.3 Email:

Steps to reproduce:
------------
  8.1 Text:


Call Stack Information:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Methods |Details|Stack  |Address |Module       |Offset |Unit                                    |Class                        |Procedure/Method                 |Line      |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|*Exception Thread: ID=3356; Parent=0; Priority=0                                                                                                                                  |
|Class=; Name=MAIN                                                                                                                                                                |
|DeadLock=0; Wait Chain=                                                                                                                                                          |
|Comment=                                                                                                                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03     |00000000|76F79B56|msvcrt.dll   |00009B56|msvcrt                                  |                              | (possible memcpy+582)           |           |
|00000020|04     |0018CC68|00543E1A|pCRM7.exe    |00143E1A|EExceptionManager                       |                              |InternalInfo                     |1654[11]  |
|00000020|04     |0018CC80|00543E6E|pCRM7.exe    |00143E6E|EExceptionManager                       |                              |InternalInfo                     |1658[15]  |
|00000020|04     |0018CCA4|00543F6B|pCRM7.exe    |00143F6B|EExceptionManager                       |TExceptionManager            |Info                             |1700[33]  |
|00000020|04     |0018CCD4|005442CE|pCRM7.exe    |001442CE|EExceptionManager                       |TExceptionManager            |Info                             |1789[18]  |
|00000020|04     |0018CFA8|0054438A|pCRM7.exe    |0014438A|EExceptionManager                       |TExceptionManager            |Info                             |1810[7]   |
|00000020|04     |0018CFCC|0054340C|pCRM7.exe    |0014340C|EExceptionManager                       |TExceptionManager            |Handle                           |1368[11]  |
|00000020|04     |0018CFF4|005469EE|pCRM7.exe    |001469EE|EExceptionManager                       |                              |HandleException1                  |2894[1]   |
|00000020|04     |0018D014|00427249|pCRM7.exe    |00027249|EAppType                                |                              |_ExceptionManagerHandle          |1764[2]   |
|00000020|04     |0018D028|005F01CE|pCRM7.exe    |001F01CE|EAppVCL                                 |                              |ApplicationShowExceptionHandler  |50[9]     |
|00000020|04     |0018D05C|005F0255|pCRM7.exe    |001F0255|EAppVCL                                 |                              |ApplicationShowExceptionHook     |80[17]    |
|00000020|04     |0018D06C|005B867A|pCRM7.exe    |001B867A|Forms                                   |TApplication                 |HandleException                  |9978[16]  |
|00000020|03     |0018D624|772EAFA3|KERNELBASE.dll|0000AFA3|KERNELBASE                              |                              | (possible lstrlenW+81)          |           |
|00000020|03     |0018D6C0|74216A88|comctl32.dll |00096A88|comctl32                                 |                              | (possible DrawSizeBox+4859)     |           |
|00000020|03     |0018D728|777C62F7|user32.dll   |000162F7|USER32                                   |                              | (possible gapfnScSendMessage+815)|           |
|00000020|04     |0018D854|00406812|pCRM7.exe    |00006812|System                                  |                              |_HandleFinally                   |11892[58] |
|00000020|04     |0018DA20|00406812|pCRM7.exe    |00006812|System                                  |                              |_HandleFinally                   |11892[58] |
|00000020|04     |0018DA2C|004065E2|pCRM7.exe    |000065E2|System                                  |                              |_HandleAnyException              |11332[100] |
|00000020|04     |0018DA48|0046DFCC|pCRM7.exe    |0006DFCC|Classes                                 |                              |StdWndProc                       |13015[8]  |
|00000020|03     |0018DA60|777C62F7|user32.dll   |000162F7|USER32                                   |                              | (possible gapfnScSendMessage+815)|           |
|00000020|03     |0018DA8C|777C6D35|user32.dll   |00016D35|USER32                                   |                              | (possible DefWindowProcW+672)   |           |
|00000020|03     |0018DB04|777C9659|user32.dll   |00019659|USER32                                   |                              | (possible GetWindow+1003)       |           |
|00000020|03     |0018DB48|777C96C0|user32.dll   |000196C0|USER32                                   |                              |SendMessageW                     |           |
|00000020|04     |0018DB6C|0072F0AA|pCRM7.exe    |0032F0AA|slstbox                                 |TSectionListBox              |WMMouseMove                      |2263[158] |
|00000020|04     |0018FFF0|00690063|pCRM7.exe    |00290063|DB                                      |TParam                       |SetAsMemo                        |10978[3]  |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                                                  |
|Running Thread: ID=4536; Parent=3356; Priority=-1                                                                                                                                 |
|Class=TOutlookReloadThread; Name=[Unnamed thread] Kind: TThread. Thread function: uClasses_ThreadedOutlookContact_Connector.TOutlookReloadThread.Execute. Thread caller: uClasses_ThreadedOutlookContact_Connector.TOutlookReloadThread.Create (uClasses_ThreadedOutlookContact_Connector.TOutlookReloadThread.Execute)|
|DeadLock=0; Wait Chain=thread: [ 11B8 / 4536 ] is blocked                                                                                                                        |
|Comment=                                                                                                                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03     |00000000|77D7F8D1|ntdll.dll    |0001F8D1|ntdll                                   |                              |ZwWaitForSingleObject            |           |
|00000020|03     |058AFC3C|7758118F|kernel32.dll |0001118F|kernel32                                 |                              |WaitForSingleObjectEx            |           |
|00000020|03     |058AFC54|77581143|kernel32.dll |00011143|kernel32                                 |                              |WaitForSingleObject              |           |
|00000020|04     |058AFC68|0046C2F6|pCRM7.exe    |0006C2F6|Classes                                 |TThread                      |Synchronize                      |11383[38] |
|00000020|04     |058AFCB8|0046C3A9|pCRM7.exe    |0006C3A9|Classes                                 |TThread                      |Synchronize                      |11412[5]  |
|00000020|04     |058AFCC4|007186C5|pCRM7.exe    |003186C5|uClasses_ThreadedOutlookContact_Connector|TOutlookReloadThread         |Execute                          |438[200]  |
|00000020|04     |058AFCD4|00718739|pCRM7.exe    |00318739|uClasses_ThreadedOutlookContact_Connector|TOutlookReloadThread         |Execute                          |442[204]  |
|00000020|04     |058AFEF8|0046BAFA|pCRM7.exe    |0006BAFA|Classes                                 |                              |ThreadProc                       |11019[8]  |
|00000020|04     |058AFF28|0051A761|pCRM7.exe    |0011A761|EThreadsManager                         |                              |NakedBeginThreadWrapper          |1282[5]   |
|00000020|04     |058AFF38|0054678C|pCRM7.exe    |0014678C|EExceptionManager                       |                              |DefaultThreadHandleException     |2763[6]   |
|00000020|04     |058AFF44|005467B2|pCRM7.exe    |001467B2|EExceptionManager                       |                              |DefaultThreadHandleException     |2765[8]   |
|00000020|04     |058AFF5C|0051B260|pCRM7.exe    |0011B260|EThreadsManager                         |                              |ThreadWrapperCT                  |1672[17]  |
|00000020|03     |058AFF8C|77583368|kernel32.dll |00013368|kernel32                                 |                              |BaseThreadInitThunk              |           |
|7FFFFFFE|04     |00000000|007175F5|pCRM7.exe    |003175F5|uClasses_ThreadedOutlookContact_Connector|TOutlookReloadThread         |Create                           |201[3]    |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                                                  |
|Running Thread: ID=5428; Parent=3356; Priority=0                                                                                                                                  |
|Class=TLoadSaveThread; Name=[Unnamed thread] Kind: TThread. Thread function: uLoadSave.TLoadSaveThread.Execute. Thread caller: uLoadSave.TLoadSaveThread.Create (uLoadSave.TLoadSaveThread.Execute)|
|DeadLock=0; Wait Chain=thread: [ 1534 / 5428 ] is blocked                                                                                                                        |
|Comment=                                                                                                                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03     |00000000|77D7F8D1|ntdll.dll    |0001F8D1|ntdll                                   |                              |ZwWaitForSingleObject            |           |
|00000020|03     |059AF9CC|7758118F|kernel32.dll |0001118F|kernel32                                 |                              |WaitForSingleObjectEx            |           |
|00000020|03     |059AF9E4|77581143|kernel32.dll |00011143|kernel32                                 |                              |WaitForSingleObject              |           |
|00000020|04     |059AF9F8|0046C2F6|pCRM7.exe    |0006C2F6|Classes                                 |TThread                      |Synchronize                      |11383[38] |
|00000020|04     |059AFA48|0046C3A9|pCRM7.exe    |0006C3A9|Classes                                 |TThread                      |Synchronize                      |11412[5]  |
|00000020|04     |059AFA54|00795C91|pCRM7.exe    |00395C91|uLoadSave                               |TLoadSaveThread              |Execute                          |1902[1388] |
|00000020|04     |059AFA64|00795CC4|pCRM7.exe    |00395CC4|uLoadSave                               |TLoadSaveThread              |Execute                          |1904[1390] |
|00000020|04     |059AFA70|00795CF5|pCRM7.exe    |00395CF5|uLoadSave                               |TLoadSaveThread              |Execute                          |1907[1393] |
|00000020|04     |059AFEF8|0046BAFA|pCRM7.exe    |0006BAFA|Classes                                 |                              |ThreadProc                       |11019[8]  |
|00000020|04     |059AFF28|0051A761|pCRM7.exe    |0011A761|EThreadsManager                         |                              |NakedBeginThreadWrapper          |1282[5]   |
|00000020|04     |059AFF38|0054678C|pCRM7.exe    |0014678C|EExceptionManager                       |                              |DefaultThreadHandleException     |2763[6]   |
|00000020|04     |059AFF44|005467B2|pCRM7.exe    |001467B2|EExceptionManager                       |                              |DefaultThreadHandleException     |2765[8]   |
|00000020|04     |059AFF5C|0051B260|pCRM7.exe    |0011B260|EThreadsManager                         |                              |ThreadWrapperCT                  |1672[17]  |
|00000020|03     |059AFF8C|77583368|kernel32.dll |00013368|kernel32                                 |                              |BaseThreadInitThunk              |           |
|7FFFFFFE|04     |00000000|0078FECB|pCRM7.exe    |0038FECB|uLoadSave                               |TLoadSaveThread              |Create                           |122[3]    |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                                                                  |
|Running Thread: ID=4708; Parent=3356; Priority=-1                                                                                                                                 |
|Class=TThreadedOutlookMailBoxScanner; Name=[Unnamed thread] Kind: TThread. Thread function: uClasses_ThreadedMailboxScanner.TThreadedOutlookMailBoxScanner.Execute. Thread caller: uClasses_ThreadedMailboxScanner.TThreadedOutlookMailBoxScanner.Create (uClasses_ThreadedMailboxScanner.TThreadedOutlookMailBoxScanner.Execute)|
|DeadLock=0; Wait Chain=thread: [ 1264 / 4708 ] is blocked                                                                                                                        |
|Comment=                                                                                                                                                                         |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03     |00000000|77D7FD91|ntdll.dll    |0001FD91|ntdll                                   |                              |ZwDelayExecution                 |           |
|00000020|03     |05CAFDB8|772F4493|KERNELBASE.dll|00014493|KERNELBASE                              |                              |Sleep                            |           |
|00000020|04     |05CAFDC8|0074CABC|pCRM7.exe    |0034CABC|uClasses_ThreadedMailboxScanner         |TThreadedOutlookMailBoxScanner|Execute                          |444[132]  |
|00000020|04     |05CAFDD4|0074CB05|pCRM7.exe    |0034CB05|uClasses_ThreadedMailboxScanner         |TThreadedOutlookMailBoxScanner|Execute                          |331[19]   |
|00000020|04     |05CAFEF8|0046BAFA|pCRM7.exe    |0006BAFA|Classes                                 |                              |ThreadProc                       |11019[8]  |
|00000020|04     |05CAFF28|0051A761|pCRM7.exe    |0011A761|EThreadsManager                         |                              |NakedBeginThreadWrapper          |1282[5]   |
|00000020|04     |05CAFF38|0054678C|pCRM7.exe    |0014678C|EExceptionManager                       |                              |DefaultThreadHandleException     |2763[6]   |
|00000020|04     |05CAFF44|005467B2|pCRM7.exe    |001467B2|EExceptionManager                       |                              |DefaultThreadHandleException     |2765[8]   |
|00000020|04     |05CAFF5C|0051B260|pCRM7.exe    |0011B260|EThreadsManager                         |                              |ThreadWrapperCT                  |1672[17]  |
|00000020|03     |05CAFF8C|77583368|kernel32.dll |00013368|kernel32                                 |                              |BaseThreadInitThunk              |           |
|7FFFFFFE|04     |00000000|0074C1A1|pCRM7.exe    |0034C1A1|uClasses_ThreadedMailboxScanner         |TThreadedOutlookMailBoxScanner|Create                           |275[4]    |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Modules Information:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|Handle |Name                                   |Description                                                                     |Version          |Size   |Modified          |Path                                                                                                         |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|00370000|symsrv.dll                             |Symbol Server                                                                   |6.12.2.633        |131856  |2013-08-20 13:59:22|C:\Program Files (x86)\EurekaLab\EurekaLog 7\Bin\                                                             |
|00400000|pCRM7.exe                              |                                                                                 |                  |15424788|2013-11-19 15:46:53|C:\05_Develop\crm7\                                                                                           |
|02640000|olepro32.dll                           |                                                                                 |6.1.7601.17514    |90112   |2010-11-21 04:24:03|C:\Windows\System32\                                                                                          |
|045C0000|dbghelp.dll                            |Windows Image Helper                                                            |6.12.2.633        |1213200 |2013-08-20 13:59:24|C:\Program Files (x86)\EurekaLab\EurekaLog 7\Bin\                                                             |
|04830000|msadcer.dll                            |OLE DB Cursor Engine Resources                                                  |6.1.7600.16385    |8192    |2009-07-14 02:06:52|C:\Program Files (x86)\Common Files\System\msadc\                                                             |
|04B00000|oledb32r.dll                           |OLE DB Core Services-Ressourcen                                                 |6.1.7600.16385    |81920   |2009-07-14 02:09:16|C:\Program Files (x86)\Common Files\System\Ole DB\                                                            |
|0F9A0000|vbajet32.dll                           |Visual Basic for Applications Development Environment - Expression Service Loader|6.0.1.9431        |30749   |2009-07-14 02:16:17|C:\Windows\System32\                                                                                          |
|0F9C0000|expsrv.dll                             |Visual Basic for Applications Runtime - Expression Service                      |6.0.72.9589       |380957  |2009-07-14 02:15:20|C:\Windows\System32\                                                                                          |
|13C10000|msadce.dll                             |OLE DB Cursor Engine                                                            |6.1.7601.17514    |561152  |2010-11-21 04:24:15|C:\Program Files (x86)\Common Files\System\msadc\                                                             |
|1ABC0000|msjetoledb40.dll                       |                                                                                 |4.0.9756.0        |364544  |2009-07-14 02:15:45|C:\Windows\SysWOW64\                                                                                          |
|1B140000|oledb32.dll                            |OLE DB Core Services                                                            |6.1.7601.17514    |864256  |2010-11-21 04:24:02|C:\Program Files (x86)\Common Files\System\Ole DB\                                                            |
|1CB40000|msado15.dll                            |ActiveX Data Objects                                                            |6.1.7601.17857    |1019904 |2013-05-16 19:40:56|C:\Program Files (x86)\Common Files\System\ado\                                                               |
|41590000|msdart.dll                             |OLE DB Runtime Routines                                                         |6.1.7600.16385    |126976  |2009-07-14 02:15:43|C:\Windows\System32\                                                                                          |
|57AC0000|OFFICE.ODF                             |                                                                                 |14.0.7109.5000    |4300456 |2013-09-05 00:14:10|C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\Cultures\                                       |
|57EE0000|OLMAPI32.DLL                           |Extended MAPI 1.0 for Windows NT                                                |14.0.7109.5000    |3323584 |2013-09-06 19:59:50|C:\Program Files (x86)\Microsoft Office\Office14\                                                             |
|583C0000|RICHED20.DLL                           |RichEdit Version 6.0                                                             |14.0.7008.1000    |1367640 |2013-01-15 11:33:16|C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\                                                |
|58640000|MSO.DLL                                |Microsoft Office 2010 component                                                 |14.0.7106.5003    |18612928|2013-09-12 12:14:42|C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\                                                |
|5AAC0000|msjtes40.dll                           |Microsoft Jet Expression Service                                                |4.0.9756.0        |290816  |2009-07-14 02:15:45|C:\Windows\SysWOW64\                                                                                          |
|5AD60000|msvcr90.dll                            |Microsoft® C Runtime Library                                                    |9.0.30729.6161    |653136  |2013-05-16 21:48:25|C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\               |
|5C2E0000|msvcp90.dll                            |Microsoft® C++ Runtime Library                                                  |9.0.30729.6161    |569680  |2013-05-16 21:48:25|C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\               |
|63330000|oleacc.dll                             |Active Accessibility Core Component                                             |7.0.0.0           |233472  |2013-05-16 19:36:40|C:\Windows\System32\                                                                                          |
|6E7B0000|atl.dll                                |ATL Module for Windows XP (Unicode)                                             |3.5.2284.0        |70144   |2009-07-14 02:14:57|C:\Windows\System32\                                                                                          |
|6E7D0000|comsvcs.dll                            |COM+ Services                                                                   |2001.12.8530.16385|1242112 |2009-07-14 02:15:07|C:\Windows\System32\                                                                                          |
|6E920000|msjint40.dll                           |Microsoft Jet-Datenbankmodul - Internationale DLL                               |4.0.9756.0        |24576   |2009-07-14 02:15:45|C:\Windows\SysWOW64\                                                                                          |
|6E930000|msjter40.dll                           |Microsoft Jet Database Engine Error DLL                                         |4.0.9756.0        |61440   |2009-07-14 02:15:45|C:\Windows\SysWOW64\                                                                                          |
|6E960000|mswstr10.dll                           |Microsoft Jet Sort Library                                                      |4.0.9756.0        |618496  |2009-07-14 02:15:51|C:\Windows\SysWOW64\                                                                                          |
|6EA10000|msjet40.dll                            |Microsoft Jet Engine Library                                                    |4.0.9756.0        |1589248 |2009-07-14 02:15:44|C:\Windows\SysWOW64\                                                                                          |
|71450000|apphelp.dll                            |Clientbibliothek für Anwendungskompatibilität                                   |6.1.7601.17514    |295936  |2010-11-21 04:24:14|C:\Windows\System32\                                                                                          |
|71AF0000|bcryptprimitives.dll                   |Windows Cryptographic Primitives Library                                        |6.1.7600.16385    |249680  |2009-07-14 02:17:54|C:\Windows\SysWOW64\                                                                                          |
|71B70000|bcrypt.dll                             |Windows Cryptographic Primitives Library (Wow64)                                |6.1.7600.16385    |80896   |2009-07-14 02:11:20|C:\Windows\System32\                                                                                          |
|71BB0000|GdiPlus.dll                            |Microsoft GDI+                                                                   |6.1.7601.18120    |1625088 |2013-04-03 05:50:20|C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.18120_none_72d2e82386681b36\        |
|71F10000|winmm.dll                              |MCI API-DLL                                                                     |6.1.7601.17514    |194048  |2010-11-21 04:24:16|C:\Windows\System32\                                                                                          |
|72430000|ntmarta.dll                            |Windows NT MARTA-Anbieter                                                       |6.1.7600.16385    |121856  |2009-07-14 02:16:11|C:\Windows\System32\                                                                                          |
|72460000|uxtheme.dll                            |Microsoft UxTheme-Bibliothek                                                    |6.1.7600.16385    |245760  |2009-07-14 02:11:24|C:\Windows\System32\                                                                                          |
|72AC0000|msi.dll                                |Windows Installer                                                               |5.0.7601.17807    |2342400 |2012-04-07 12:26:29|C:\Windows\System32\                                                                                          |
|72D40000|sxs.dll                                |Fusion 2.5                                                                       |6.1.7601.17514    |380416  |2010-11-21 04:24:16|C:\Windows\System32\                                                                                          |
|72DB0000|RpcRtRemote.dll                        |Remote RPC Extension                                                            |6.1.7601.17514    |46080   |2010-11-21 04:24:14|C:\Windows\System32\                                                                                          |
|72DC0000|rsaenh.dll                             |Microsoft Enhanced Cryptographic Provider                                       |6.1.7600.16385    |242936  |2009-07-14 02:17:54|C:\Windows\System32\                                                                                          |
|72E60000|cryptsp.dll                            |Cryptographic Service Provider API                                              |6.1.7600.16385    |78848   |2009-07-14 02:15:07|C:\Windows\System32\                                                                                          |
|74120000|winspool.drv                           |Windows-Spoolertreiber                                                          |6.1.7601.17514    |320000  |2010-11-21 04:24:08|C:\Windows\System32\                                                                                          |
|74180000|comctl32.dll                           |Bibliothek für Steuerelemente                                                   |6.10.7601.17514   |1680896 |2010-11-21 04:23:55|C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\|
|74330000|version.dll                            |Version Checking and File Installation Libraries                                |6.1.7600.16385    |21504   |2009-07-14 02:16:17|C:\Windows\System32\                                                                                          |
|74BF0000|msimg32.dll                            |GDIEXT Client DLL                                                               |6.1.7600.16385    |4608    |2009-07-14 02:15:44|C:\Windows\System32\                                                                                          |
|75770000|CRYPTBASE.dll                          |Base cryptographic API DLL                                                      |6.1.7600.16385    |36864   |2009-07-14 02:15:07|C:\Windows\SysWOW64\                                                                                          |
|75780000|sspicli.dll                            |Security Support Provider Interface                                             |6.1.7601.18270    |96768   |2013-09-25 02:58:17|C:\Windows\SysWOW64\                                                                                          |
|759C0000|shlwapi.dll                            |Shell Light-weight-Dienstprogrammbibliothek                                     |6.1.7601.17514    |350208  |2010-11-21 04:23:48|C:\Windows\SysWOW64\                                                                                          |
|75A20000|shell32.dll                            |Allgemeine Windows-Shell-DLL                                                    |6.1.7601.18222    |12872704|2013-07-26 02:55:59|C:\Windows\SysWOW64\                                                                                          |
|76A80000|Wldap32.dll                            |Win32 LDAP-API-DLL                                                              |6.1.7601.17514    |269824  |2010-11-21 04:24:16|C:\Windows\SysWOW64\                                                                                          |
|76AD0000|crypt32.dll                            |Krypto-API32                                                                     |6.1.7601.18277    |1168384 |2013-10-05 20:57:25|C:\Windows\SysWOW64\                                                                                          |
|76C00000|gdi32.dll                              |GDI Client DLL                                                                  |6.1.7601.18275    |311808  |2013-10-03 03:00:44|C:\Windows\SysWOW64\                                                                                          |
|76C90000|msctf.dll                              |MSCTF-Server-DLL                                                                |6.1.7600.16385    |828928  |2009-07-14 02:15:43|C:\Windows\SysWOW64\                                                                                          |
|76D60000|clbcatq.dll                            |COM+ Configuration Catalog                                                      |2001.12.8530.16385|522240  |2009-07-14 02:15:03|C:\Windows\SysWOW64\                                                                                          |
|76DF0000|ole32.dll                              |Microsoft OLE für Windows                                                       |6.1.7601.17514    |1414144 |2010-11-21 04:24:01|C:\Windows\SysWOW64\                                                                                          |
|76F60000|msasn1.dll                             |ASN.1 Runtime APIs                                                              |6.1.7601.17514    |34304   |2010-11-21 04:23:48|C:\Windows\SysWOW64\                                                                                          |
|76F70000|msvcrt.dll                             |Windows NT CRT DLL                                                              |7.0.7601.17744    |690688  |2013-05-16 19:38:16|C:\Windows\SysWOW64\                                                                                          |
|771D0000|imm32.dll                              |Multi-User Windows IMM32 API Client DLL                                         |6.1.7601.17514    |119808  |2010-11-21 04:24:25|C:\Windows\System32\                                                                                          |
|77240000|advapi32.dll                           |Erweiterte Windows 32 Base-API                                                  |6.1.7601.18247    |640512  |2013-08-29 02:48:17|C:\Windows\SysWOW64\                                                                                          |
|772E0000|KERNELBASE.dll                         |Client-DLL für Windows NT-Basis-API                                             |6.1.7601.18229    |274944  |2013-08-02 02:50:42|C:\Windows\SysWOW64\                                                                                          |
|773A0000|rpcrt4.dll                             |Remoteprozeduraufruf-Laufzeitumgebung                                           |6.1.7601.18205    |663552  |2013-07-09 05:52:33|C:\Windows\SysWOW64\                                                                                          |
|774A0000|imagehlp.dll                           |Windows NT Image Helper                                                         |6.1.7601.17787    |159232  |2013-05-16 19:38:24|C:\Windows\SysWOW64\                                                                                          |
|774D0000|lpk.dll                                |Language Pack                                                                   |6.1.7601.18177    |25600   |2013-06-06 05:57:01|C:\Windows\SysWOW64\                                                                                          |
|774E0000|psapi.dll                              |Process Status Helper                                                           |6.1.7600.16385    |6144    |2009-07-14 02:16:12|C:\Windows\SysWOW64\                                                                                          |
|77570000|kernel32.dll                           |Client-DLL für Windows NT-Basis-API                                             |6.1.7601.18229    |1114112 |2013-08-02 02:50:41|C:\Windows\SysWOW64\                                                                                          |
|776B0000|usp10.dll                              |Uniscribe Unicode script processor                                              |1.626.7601.18009  |626688  |2012-11-22 05:45:03|C:\Windows\SysWOW64\                                                                                          |
|777B0000|user32.dll                             |Multi-User Windows USER API Client DLL                                          |6.1.7601.17514    |833024  |2010-11-21 04:24:20|C:\Windows\SysWOW64\                                                                                          |
|778B0000|oleaut32.dll                           |                                                                                 |6.1.7601.17676    |571904  |2013-05-16 19:36:40|C:\Windows\SysWOW64\                                                                                          |
|77940000|sechost.dll                            |Host for SCM/SDDL/LSA Lookup APIs                                               |6.1.7600.16385    |92160   |2009-07-14 02:16:13|C:\Windows\SysWOW64\                                                                                          |
|77D30000|api-ms-win-downlevel-advapi32-l1-1-0.dll|ApiSet Stub DLL                                                                 |6.2.9200.16492    |10752   |2013-01-13 22:16:42|C:\Windows\SysWOW64\                                                                                          |
|77D60000|ntdll.dll                              |DLL für NT-Layer                                                                |6.1.7601.18247    |1292192 |2013-08-29 02:50:30|C:\Windows\SysWOW64\                                                                                          |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Processes Information:
----------------------


Assembler Information:
--------------------------------------------------------------------------
; Base Address: $76F79000, Allocation Base: $76F70000, Region Size: 618496
; Allocation Protect: PAGE_EXECUTE_WRITECOPY, Protect: PAGE_EXECUTE_READ
; State: MEM_COMMIT, Type: MEM_IMAGE
;
;
; msvcrt. (possible memcpy+547) (Line=0 - Offset=547)
; ---------------------------------------------------
76F79B33  C3      RET
76F79B34  8A4603  MOV AL, [ESI+3]
76F79B37  884703  MOV [EDI+3], AL
76F79B3A 8A4602  MOV AL, [ESI+2]
76F79B3D 884702  MOV [EDI+2], AL
76F79B40  8B4508  MOV EAX, [EBP+8]
76F79B43  5E     POP ESI
76F79B44  5F     POP EDI
76F79B45  C9      LEAVE
76F79B46  C3      RET
76F79B47  8A4603  MOV AL, [ESI+3]
76F79B4A 884703  MOV [EDI+3], AL
76F79B4D 8A4602  MOV AL, [ESI+2]
76F79B50  884702  MOV [EDI+2], AL
76F79B53  8A4601  MOV AL, [ESI+1]
;
; msvcrt. (possible memcpy+582) (Line=0 - Offset=582)
; ---------------------------------------------------
76F79B56  884701  MOV [EDI+1], AL  ; <-- EXCEPTION
76F79B59  8B4508  MOV EAX, [EBP+8]
76F79B5C 5E     POP ESI
76F79B5D 5F     POP EDI
76F79B5E C9      LEAVE

Registers:
-----------------------------
EAX: ????       EDI: ????   
EBX: ????       ESI: ????   
ECX: ????       EBP: ????   
EDX: ????       ESP: ????   
EIP: ????       FLG: ????   
EXP: 76F79B56   STK: 0018CC64

Stack:              Memory Dump:
------------------   ---------------------------------------------------------------------------
0018CCA0: 0018CCC8   76F79B56: 88 47 01 8B 45 08 5E 5F C9 C3 F3 A5 FF 24 95 B8  .G..E.^_.....$..
0018CC9C: 0054B757   76F79B66: 99 F7 76 8A 06 88 07 8A 46 01 88 47 01 8B 45 08  ..v.....F..G..E.
0018CC98: 0018CCA4   76F79B76: 5E 5F C9 C3 83 3D 44 00 01 77 00 0F 84 B5 FD FF ^_...=D..w......
0018CC94: 0054B729   76F79B86: FF 57 56 83 E7 0F 83 E6 0F 3B FE 5E 5F 0F 85 A3  .WV......;.^_...
0018CC90: 0018CCC8   76F79B96: FD FF FF 5E 5F 5D E9 12 04 00 00 55 8B EC 83 EC ...^_].....U....
0018CC8C: 01B2166C  76F79BA6: 20 83 E4 F0 D9 C0 D9 54 24 18 DF 7C 24 10 DF 6C  ......T$..|$..l
0018CC88: 1177977C  76F79BB6: 24 10 8B 54 24 18 8B 44 24 10 85 C0 0F 84 07 02  $..T$..D$.......
0018CC84: 11CB57EC  76F79BC6: 00 00 DE E9 85 D2 0F 88 09 5E 00 00 D9 1C 24 8B .........^....$.
0018CC80: 117F8A9C  76F79BD6: 0C 24 81 C1 FF FF FF 7F 83 D8 00 8B 54 24 14 83  .$..........T$..
0018CC7C: 0DAC0D2C  76F79BE6: DA 00 C9 C3 83 3D 44 00 01 77 00 75 0A E9 BE FB .....=D..w.u....
0018CC78: 00000000   76F79BF6: FF FF 90 90 90 90 90 8B C0 55 8B EC 83 EC 10 89  .........U......
0018CC74: 0055BE50   76F79C06: 7D FC 8B 45 08 99 8B F8 33 FA 2B FA 83 E7 0F 33  }..E....3.+....3
0018CC70: 0055BE50   76F79C16: FA 2B FA 85 FF 0F 85 95 00 00 00 8B 4D 10 8B D1  .+..........M...
0018CC6C: 0018CC90   76F79C26: 83 E2 7F 89 55 F4 3B CA 74 12 2B CA 51 50 E8 2E ....U.;.t.+.QP..
0018CC68: 0054BB44   76F79C36: 00 00 00 83 C4 08 8B 45 08 8B 55 F4 85 D2 74 15  .......E..U...t.
0018CC64: 0018CC98   76F79C46: 03 45 10 2B C2 89 45 F8 33 C0 8B 7D F8 8B 4D F4  .E.+..E.3..}..M.



*** Aus ursprünglicher Frage:
Anbei ein Beispiel für eine mögliche Fehlerquelle: eine Prozedur, die vom Thread mit Synchronize aufgerufen wird:
Delphi-Quellcode:
{$Region 'procedure TThreadedOutlookMailBoxScanner.SyncMails;'}
procedure TThreadedOutlookMailBoxScanner.SyncMails;
var
  i, j: integer;
  blFail: Boolean;
  blGefunden: Boolean;
  blChanged: Boolean;
  tmpMail: TMail;
  CrashCount, VerifyTick: Cardinal;
begin
  try
    blChanged := False;
    VerifyTick := GetTickCount;

    for i := 0 to FclMail.Count - 1 do begin
      blGefunden := False;
      for j := 0 to clMail.Count - 1 do begin
        if TMail(FclMail.Items[i]).EntryID = TMail(clMail.Items[j]).EntryID then begin
          if not TMail(FclMail.Items[i]).Equals(TMail(clMail.Items[j])) then begin
            TMail(clMail.Items[j]).Assign(TMail(FclMail.Items[i]));
            blChanged := True;
          end;
          TMail(clMail.Items[j]).VerifiedTick := VerifyTick;
          blGefunden := True;
          Break;
        end;
      end;

      if not blGefunden then begin
        tmpMail := TMail.Create(NIL);
        tmpMail.Assign(TMail(FclMail.Items[i]));
        tmpMail.VerifiedTick := VerifyTick;
        clMail.Add(tmpMail);
        blChanged := True;
      end;
    end;

    i := 0;
    CrashCount := GetTickCount + 10000;
    while (i < clMail.Count) and (GetTickCount < CrashCount) do begin
      if Mail(i).VerifiedTick <> VerifyTick then begin
        clMail.Delete(i);
        blChanged := True;
      end else begin
        inc(i);
      end;
    end;

    {$Region 'Nach Eingangsdatum/-Uhrzeit sortieren / Neu nach Alt'}
    repeat
      blFail := False;

      for i := 0 to clMail.Count - 2 do begin
        if TMail(clMail.Items[i]).SentOn < TMail(clMail.Items[i+1]).SentOn then begin
          clMail.Move(i, i+1);
          blFail := True;
        end;
      end;
    until not blFail;
    {$EndRegion}

    if blChanged and assigned(OnChange) then begin
      OnChange(Self);
    end;
  except
    on E: SysUtils.Exception do begin
      Log('TThreadedOutlookMailBoxScanner.SyncMails', M, E.Message, ws_SEVERITY_EXCEPTION);
    end;
  end;
end;
{$EndRegion}
Vielen Dank!

Geändert von berens (19. Nov 2013 um 15:57 Uhr)
  Mit Zitat antworten Zitat