28. december 2005 - 22:09Der er
10 kommentarer og 1 løsning
Fjerner jeg mit breakpoint crasher den - Threading - CF
Jeg er ved at lave en app i C# Compact Framework.
Alle (data)operationer jeg laver på en form smider jeg ud i tråde ved brug af ThreadPool.QueueUserWorkItem( new WaitCallBack( SomeThreadProc ) );
Min tråd rejser en events når den har gjort sit, og min form lytter på disse events (er implementerde som singleton events).
Når eventen bliver rejst, skal min form opdatere nogle controller. F.eks starter jeg en tråd som henter en collection fra en webservice, som efterfølgende skal bindes på et datagrid.
public void dataRetreivedListner(DataEventArgs myCollection) { dataGrid1.Datasource = myCollection; }
Mit problem er umiddelbart hvis jeg sætter et breakpoint på den linie hvor jeg binder datagrid'et med min collection, så virker det som forventede, men hvis jeg fjerner mit breakpoint, så crasher applicationen...
Jeg syntes umiddelbart ikke at kunne finde ud af hvorfor, og jeg har f.eks prøvet at indsætte Thread.sleep(), men det er kun når jeg har mit breakpoint indsat at lortet fungere.....?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
private void fetchEditions() { EditionController ec = new EditionController(id, true); ThreadPool.QueueUserWorkItem( new WaitCallBack( ThreadProc ), ec ) } static void ThreadProc(object state) { (state as EditionController).getEditions(); }
getEditions() henter data from en webservice eller xml etc, og afslutter med at rejse en singleton event der indholder en EditionCollection (customer collection baseret på ArrayList) som Args
Jeg har sat et breakpoint på linien: this.dataGrid.DataSource... Hvis jeg prøve at udvide 'this' i Visual Studio når exekveringen kommer til mit breakpoint, så hænger VS i 20 sek. og viser derefter alle værdier (variabler, controller etc) som <Undefined value>, og jeg skal manuelt stoppe processen på terminalen for at stoppe min debug session.
Ofte når jeg kører applicationen, så virker alting fint, men hvis jeg fjerne mit breakpoint, så kører den med sikkerhed ikke.
Jeg har derfor ikke en linie kode der virker og en der ikke gør, men blot en ustabil smørre, og jeg kan ikke lige gennemskue hvad der gør det.
havde helt glemt dette men synts ikke at jeg fortjener pointene du kan bare tage dem selv
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.