Programma loopt vast - geen fouten, geen uitzonderingen

Ik schrijf een programma om gegevens van IMDB te schrapen, met behulp van een IMDB API schrapen. Het werkt wonderwel, maar soms ... het stopt gewoon. Geen uitzondering gegooid, geen fout, niets getoond op intellitrace, kan geen reden vinden waarom het stopt. En het is interessant, omdat het punt waar het stopt totaal willekeurig is!

Dus bijvoorbeeld ... als ik het begin, schrapt het gegevens met succes 100 keer, maar als ik het opnieuw start, blijft het achter na 50. Ik heb echt geen idee waarom dit dit doet.

Als ik de code pauzeer als deze vastzit, schrijft deze niets (zoals normaal zou werken zonder fouten), (of ik merk het gewoon niet). De groene markering aan de linkerkant staat op

IMDb imdb_movie = new IMDb(link, false);

The source code can be found here

Om het even welke ideeën? Bedankt voorwaarts!

4
Dat is het punt! Ik kan het niet zeggen, want als ik de code pauzeer als hij vastzit, schrijft hij niets (alsof hij normaal zou werken zonder fouten), (of ik merk het gewoon niet, ik ben nogal een noob eigenlijk) de groene markering aan de linkerkant is op "IMDb imdb_movie = nieuwe IMDb (link, false);" regel ... maar nu debuggen, en wachten tot het vastloopt en resultaten delen!
toegevoegd de auteur Levela, de bron
Als het vastloopt, waar zit het dan vast? Wat is het laatste dat het probeerde te doen? (U moet debuggen.)
toegevoegd de auteur David Schwartz, de bron
@Levela Ik heb je extra informatie toegevoegd aan de hoofdpost. Het is een goede gewoonte om uw post te verfijnen met eventuele aanvullende informatie die in opmerkingen wordt gevraagd, omdat dit helpt om dingen duidelijk en georganiseerd te houden.
toegevoegd de auteur J..., de bron
Ik ken de inhoud van je bestand niet, maar wanneer het verwerken van het bestand is voltooid, moet het stoppen. Probeer een console te plaatsen.Readkey() aan het einde van Main
toegevoegd de auteur armin, de bron

1 antwoord

Dit klinkt als een fout in de API die u gebruikt. Ik zou het opnemen met de ontwikkelaar of download het klassenbestand dat hij levert, zodat je het zelf kunt debuggen. Als u de DLL zonder bron hebt geïnstalleerd, krijgt u tijdens de pauze een groene pijl terwijl de IDE wacht totdat de externe code is voltooid, maar als u het klassenbestand aan uw project toevoegt, kunt u doorlopen en zien waar het vastloopt.

Also, fundamentally : Why regex is probably a bad idea here...

1
toegevoegd
Bedankt dat je dit nu doet! :> Ga terug zodra ik een aantal resultaten heb!
toegevoegd de auteur Levela, de bron
Oh ik snap het! Het loopt vast: link
toegevoegd de auteur Levela, de bron
Nou .. eigenlijk ben ik blij dat het probleem is gevonden, maar ik weet nog steeds niet hoe ik het moet repareren:
toegevoegd de auteur Levela, de bron
@Levela Het loopt vast in de aanroep match , maar je moet enkele debug-regels of breekpunten toevoegen om te proberen te achterhalen vanaf welke regel het wordt aangeroepen (waarschijnlijk een regel in parseIMDBPage Een van die regex-expressies heeft waarschijnlijk te lijden van iets als catastrofale teruggang: regular-expressions.info/catastrophic .html
toegevoegd de auteur J..., de bron
@Levela ... via de bovenstaande link: RegexBuddy is vergevingsgezind omdat het detecteert dat het in cirkels gaat en de matchpoging afbreekt. Andere regex-engines (zoals .NET) blijven maar doorgaan
toegevoegd de auteur J..., de bron
@Levela - als je de aanstootgevende regex vindt, zou het een andere vraag zijn als je niet kunt achterhalen waardoor het een wegloper is. Ik ben geen regex-wizard, maar er zijn er veel die dat wel zijn.
toegevoegd de auteur J..., de bron