C# problem med trådning, trådar låser sig efter att debugging stoppats

Permalänk
Medlem

C# problem med trådning, trådar låser sig efter att debugging stoppats

Tjaba!

Håller på ett chattprogram där jag gjort en server och en klient på två olika projekt i visual studio 2010. De använder sig av tcpip och threading.

Problemet är att när jag slutar debugga klienten så fastnar ibland en thread i bakgrunden och processen avslutas inte. Går det att på något sätt stänga processen och bli av med threaden?

När jag försöker avsluta processen så försvinner den och kommer tillbaka direkt igen i aktivitetshanteraren.

Den enda lösning jag har just nu är att reboota men det är väldigt irriterande.

Permalänk

Sätt tråden som background?

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem
Skrivet av KurreKula:

Sätt tråden som background?

Ahh! Fan va bra, tack KurreKula! Läste om background thread på msdn och det är precis vad jag behöver!
Thread.IsBackground Property (System.Threading)

Permalänk
Skrivet av 2infinity:

Ahh! Fan va bra, tack KurreKula! Läste om background thread på msdn och det är precis vad jag behöver!
Thread.IsBackground Property (System.Threading)

Gott att det löste sig

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Hmm tyvärr så testa jag och problemet är densamma. Jag stänger processen och den bara startar om sig.
Processen heter: ThreadingTest.vshost.exe *32
Så den körs i 32bitars läge och med vshost som automatiskt körs när man debuggar. Men kan inte bli av med den.
Har provat end process tree också i taskmanager men det är fortfarande samma problem.

Permalänk

Den ska ju ligga där... Du kan stänga av den med en inställning i Visual Studio men varför?
Den kommer inte ligga där när du skeppar iväg ditt program

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Ja men orginalproblemet kvarstår, kan inte kompilera och debugga igen efter att den ligger där. Får följande fel i vs2k10:

Error 1 Unable to copy file "obj\x86\Debug\ThreadingTest.exe" to "bin\Debug\ThreadingTest.exe". The process cannot access the file 'bin\Debug\ThreadingTest.exe' because it is being used by another process. ThreadingTest

Ser nu att om jag stänger visual studio 2010 så stängs även processen. Och så fort jag öppnar visual studio 2010 och öppnar projektet igen så körs processen igång och blockar. Kanske någon inställning eller dylikt i vs2010 som kan fixa problemet?

Permalänk

Det ska nog inte vara den filen som låser... Den filen ligger alltid där. Vad får du upp med ett prgoram som lockhunter?

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Lockhunter säger att det inte finns någon låsning men vs2010 vägrar kompilera pga felmeddelandet jag nämnde ovan :/
Testade lockhunter igen. Nu står de att de är låsta av sig själva. Står: No path for the process. Så antar att processen skulle ha stått där. Har provat unlock men står bara att en process låser filen och processen måste avslutas först.

Permalänk

Ditt program ligger inte som en process heller? ThreadingTest.exe

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Hittade en temporär lösning. Stänga vs2010, gå till mappen och deleta både filen vshost.exe och vanliga .exe i debugg mappen sedan starta igen.
Hittade att fler postat på msdn om detta fel:
Problems with VSHOST.EXE

Nej den syns inte som en process i aktivitetshanteraren i alla fall :/ Har valt att visa processer för alla användare.

Permalänk

Högerklicka på ditt projekt, välj properties och sen under fliken debug kryssar du ru "Enable the Visual Studio hosting process".

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Alternativt så ser du till att hålla koll på alla trådar. Vid fel, avslut etc. så ser du till att trådarna dör, snällt eller forcerat.

Visa signatur

weeeee

Permalänk
Skrivet av mounte:

Alternativt så ser du till att hålla koll på alla trådar. Vid fel, avslut etc. så ser du till att trådarna dör, snällt eller forcerat.

Det var ju det jag skrev längst upp med "isbackground", då dör de när huvudtråden dör

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase