Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi access violation bei threads und das debuggen derselben (https://www.delphipraxis.net/55913-access-violation-bei-threads-und-das-debuggen-derselben.html)

quirks 28. Okt 2005 16:10


access violation bei threads und das debuggen derselben
 
Das Programm soll Html-Seiten runterladen, parsen und die Links in eine Liste schreiben. Dazu benutze ich Threads, damit das etwas schneller geht. Problem: Wenn die Thread-Anzahl größer als 1 ist, (also mehrere Sites gleichzeitig geladen werden), schmiert das Programm nach maximal 1 Minute mit einer Access Violation ab. Keine weiteren Anhaltspunkte, dann popt sofort das Assembler-Fenster auf und erwartet von mir, dass ich 20000 Zeilen Code durchstöber. Gibt es irgendeinen Weg, die Threads zu debuggen?

mfg, quirks

alzaimar 28. Okt 2005 16:12

Re: access violation bei threads und das debuggen derselben
 
Log-Dateien, outputdebugstring, was Besseres hab ich auch nicht zu bieten.
Ist die Html-Komponente denn multithreadfähig, oder hast Du für jeden Thread ne Eigene?

Nebenbei hält das Programm nicht irgendwo an (i.A.) sondern an der Stelle, wo es knallt. Wenn dort nur Nullen sind, dann schalte mal RangeCheck, Overflow Check an, Optimierung etc. aus

quirks 28. Okt 2005 17:41

Re: access violation bei threads und das debuggen derselben
 
hm, gut. logfiles hab ich schon, aber er stürzt nie bei der gleichen adresse/url ab, immer bei was anderem. und da ist mir bis jetzt kein zusammenhang aufgefallen. das mit dem rangecheck probier ich jetzt mal aus.

zum thread-layout: es gibt einen "pool-thread", der eine liste überwacht (alles natürlich mit criticalsections) und dann diese url einem "work-thread" im create zuweist. der created die html-compo, parst das dokument und gibt die urls an die pool-liste zurück. dann wird der work-thread per freeonterminate zerstört.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz