Pohlad na premenna windows sluzby zvonku

Programovacie jazyky, rady, poradňa...
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa axxis »

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
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8219
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa harrison314 »

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
Addict
Používateľov profilový obrázok
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

Príspevok od používateľa axxis »

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
axxis napísal:....beziacu windows sluzbu a pozriet sa na jej instancne premenne (podobne ako v debuggeri visual studia) .....
tymto som mal na mysli nieco co nie je VS
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8219
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa harrison314 »

je to tvoja sluzba? respektyve mas zdrojaky?
axxis
Addict
Addict
Používateľov profilový obrázok
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

Príspevok od používateľa axxis »

harrison314 napísal:je to tvoja sluzba? respektyve mas zdrojaky?
ano a ano
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8219
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa harrison314 »

Dorob logovanie,
kludne System.Diagnostic.Debug a nastavis aby ti debug vytsup tlacil do suboru
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa Fabo »

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...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8219
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa harrison314 »

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...
To je problem .NET ma kopirovaci viacurovnovy GC, adresi objektov sa menia pri kazdom collecte.
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
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa Fabo »

Ah, tak potom asi nie, .NET a C# sa osobne nevenujem, tak to az tak nepoznam. Ale mohlo ma napadnut.
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa manager666 »

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
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.
axxis
Addict
Addict
Používateľov profilový obrázok
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

Príspevok od používateľa axxis »

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.
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)


--
Prílohy
vale.jpg
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Pohlad na premenna windows sluzby zvonku

Príspevok od používateľa manager666 »

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...
Napísať odpoveď