Pohlad na premenna windows sluzby zvonku
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Pohlad na premenna windows sluzby zvonku
Problem je asi takyto.
Bezi mi server, ktory je windows sluzba. Tato sluzba ma 3 dolezite Listy (klasicka genericka kolekcia IList).
Do nich sa za urcitiych okolnosti vkladaju objekty, ktore sa za inych okolnosti zase zmazu. V priebehu spracovania objektu vsak moze dojst k vynimke a nikdy sa na nom nezavola Remove. (co moze v dlhom behu sposobit totalne zahltenie pamati) Chcel by som sa teda opytat ci existuje nejaky nastroj, ktory mi umozni sa pripojit na beziacu windows sluzbu a pozriet sa na jej instancne premenne (podobne ako v debuggeri visual studia) aby som si mohol kontrolovat objekty, ktore neboli odstranene a vysetrit preco nie su odstranene.
edit:// ak mate skusenosti s tvorenim dlho beziacich programov kludne mi navrhnite aj ine riesenie. v tomto som uplny novacik
Bezi mi server, ktory je windows sluzba. Tato sluzba ma 3 dolezite Listy (klasicka genericka kolekcia IList).
Do nich sa za urcitiych okolnosti vkladaju objekty, ktore sa za inych okolnosti zase zmazu. V priebehu spracovania objektu vsak moze dojst k vynimke a nikdy sa na nom nezavola Remove. (co moze v dlhom behu sposobit totalne zahltenie pamati) Chcel by som sa teda opytat ci existuje nejaky nastroj, ktory mi umozni sa pripojit na beziacu windows sluzbu a pozriet sa na jej instancne premenne (podobne ako v debuggeri visual studia) aby som si mohol kontrolovat objekty, ktore neboli odstranene a vysetrit preco nie su odstranene.
edit:// ak mate skusenosti s tvorenim dlho beziacich programov kludne mi navrhnite aj ine riesenie. v tomto som uplny novacik
-
harrison314
Hardcore addict
- Príspevky: 8219
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
Ak nie je ta sluzba skompilovana v debug mode tak asi nijako, ak je tak http://msdn.microsoft.com/en-us/library ... .110).aspx
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
harrison314 napísal:Ak nie je ta sluzba skompilovana v debug mode tak asi nijako, ak je tak http://msdn.microsoft.com/en-us/library ... .110).aspx
tymto som mal na mysli nieco co nie je VSaxxis napísal:....beziacu windows sluzbu a pozriet sa na jej instancne premenne (podobne ako v debuggeri visual studia) .....
-
harrison314
Hardcore addict
- Príspevky: 8219
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
je to tvoja sluzba? respektyve mas zdrojaky?
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
ano a anoharrison314 napísal:je to tvoja sluzba? respektyve mas zdrojaky?
-
harrison314
Hardcore addict
- Príspevky: 8219
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
Dorob logovanie,
kludne System.Diagnostic.Debug a nastavis aby ti debug vytsup tlacil do suboru
kludne System.Diagnostic.Debug a nastavis aby ti debug vytsup tlacil do suboru
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
ReadProcessMemory? Ak sa ti podari najst spravne adresy (resp. vypocitat). Alebo ked to je tvoj vlastny service, tak shareovat pamat, a pristupovat normalne na shared memory metodu.
Alebo pripisat do service nejaky garbage collector...
Alebo pripisat do service nejaky garbage collector...
-
harrison314
Hardcore addict
- Príspevky: 8219
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
To je problem .NET ma kopirovaci viacurovnovy GC, adresi objektov sa menia pri kazdom collecte.Fabo napísal:ReadProcessMemory? Ak sa ti podari najst spravne adresy (resp. vypocitat). Alebo ked to je tvoj vlastny service, tak shareovat pamat, a pristupovat normalne na shared memory metodu.
Alebo pripisat do service nejaky garbage collector...
CItat pamet je ovela tazsie, ja by som odporucal implementovat vlastny IList, ktori bude hadzat eventy u udalostich a tie nejak "publikovat" bud v Logu, alebo do konzoli cez pomeovane paipi.
-
Fabo
Hardcore addict
- Príspevky: 6810
- Registrovaný: 16 nov 2007, 17:23
- Bydlisko: 's Chravenhache
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
Ah, tak potom asi nie, .NET a C# sa osobne nevenujem, tak to az tak nepoznam. Ale mohlo ma napadnut.
-
manager666
Star
- Príspevky: 642
- Registrovaný: 12 aug 2007, 13:29
Re: Pohlad na premenna windows sluzby zvonku
Denne pracujem na vyvoji sluzieb typu "High performance with High-Availability". To, co by si chcel mi nepride uplne s kostolnym poriadkom. Ty, ako vyvojar, musis zabezpecit konzistentny stav za kazdych okolnosti. Je nepripustne, aby ti nejaka vynimka pri spracovani branila v odstraneni objektu z kolekcie.axxis napísal:Problem je asi takyto.
Bezi mi server, ktory je windows sluzba. Tato sluzba ma 3 dolezite Listy (klasicka genericka kolekcia IList).
Do nich sa za urcitiych okolnosti vkladaju objekty, ktore sa za inych okolnosti zase zmazu. V priebehu spracovania objektu vsak moze dojst k vynimke a nikdy sa na nom nezavola Remove. (co moze v dlhom behu sposobit totalne zahltenie pamati) Chcel by som sa teda opytat ci existuje nejaky nastroj, ktory mi umozni sa pripojit na beziacu windows sluzbu a pozriet sa na jej instancne premenne (podobne ako v debuggeri visual studia) aby som si mohol kontrolovat objekty, ktore neboli odstranene a vysetrit preco nie su odstranene.
edit:// ak mate skusenosti s tvorenim dlho beziacich programov kludne mi navrhnite aj ine riesenie. v tomto som uplny novacik
Nespominas nic konkretne, tak ti dam obecnu radu. Pred spracovanim odstranis objekt z kolekcie, vykonas spracovanie a nech uz spracovanie dopadne akokolvek, tak mas zabezpecene, ze bol objekt z kolekcie odstraneny.
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Pohlad na premenna windows sluzby zvonku
S tym co pises plne suhlasim, ale vobec si mi nepomohol (co nie je ani tak Tvoja chyba ako to, ze som na zaciatku nesformuloval presnu podstatu mojho problemu)manager666 napísal:
Denne pracujem na vyvoji sluzieb typu "High performance with High-Availability". To, co by si chcel mi nepride uplne s kostolnym poriadkom. Ty, ako vyvojar, musis zabezpecit konzistentny stav za kazdych okolnosti. Je nepripustne, aby ti nejaka vynimka pri spracovani branila v odstraneni objektu z kolekcie.
Nespominas nic konkretne, tak ti dam obecnu radu. Pred spracovanim odstranis objekt z kolekcie, vykonas spracovanie a nech uz spracovanie dopadne akokolvek, tak mas zabezpecene, ze bol objekt z kolekcie odstraneny.
--
-
manager666
Star
- Príspevky: 642
- Registrovaný: 12 aug 2007, 13:29
Re: Pohlad na premenna windows sluzby zvonku
Z toho, co pises mi vyplyva, ze mozes v urcitych pripadoch bezpecne odstranit nekompletne spracovane objekty. Vlastna odpoved sa skryva vo vete "by som sa potreboval cas od casu pozriet na obsah premennej".
Potrebujes zakomponovat spolahlivy mechanizmus, ktory vyriesi urcitu obdobu tzv. problemu starnutia. To znamena, ze po urcitej dobe odstranis objekty, pre ktore sa nepodarilo uspesne dosiahnut ciel. Pri odstraneni by malo dojst minimalne k notifikacii, ze sa tak stalo, aby si o nic neprisiel. Odstranenie nemusi nastat okamzite, je mozne zaimplementovat viacurovnovy mechanizmus (po prvykrat sa vygeneruje notifikacia s upozornenim, az po X-ty krat dojde k odstraneniu).
Snad som aspon trochu pomohol...
Potrebujes zakomponovat spolahlivy mechanizmus, ktory vyriesi urcitu obdobu tzv. problemu starnutia. To znamena, ze po urcitej dobe odstranis objekty, pre ktore sa nepodarilo uspesne dosiahnut ciel. Pri odstraneni by malo dojst minimalne k notifikacii, ze sa tak stalo, aby si o nic neprisiel. Odstranenie nemusi nastat okamzite, je mozne zaimplementovat viacurovnovy mechanizmus (po prvykrat sa vygeneruje notifikacia s upozornenim, az po X-ty krat dojde k odstraneniu).
Snad som aspon trochu pomohol...