Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

unmanaged code u dll i problem sa njim

[es] :: .NET :: unmanaged code u dll i problem sa njim

[ Pregleda: 2760 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.eunet.yu.



Profil

icon unmanaged code u dll i problem sa njim26.08.2007. u 13:01 - pre 202 meseci
Pravim jednu aplikaciju koja koristi dll pisam u c/c++ -u. Znači pozivam unmanaged code iz .net-a (oni su napravili jedan wraper).
Aplikacija je gotova 90%. Pojavio se problem. aplikacija periodično poziva web service. Web Service instancira objekte iz dll-a. Posle nekog vremena 5-6 sati rada WebService potpuno prestaje da odgovara. Pomoću loga sam otkrio da web service prestane da odgovara u dva slučaja:

1) pri instancirranju objekta iz dll-a
2) pri pozivu jedne metode iz dll-a (Login)

Ja mislim da u tom dll-u postoji memory leak ili bug.
Pitanje:
1) kako da otkrijem kakv je to bug ?
2) kako da handle-ujem taj bug (koji se nalazi negde u unmanaged code-u)


Taj dll se koristi za komunikaciju sa specijalizovanim serverom
 
Odgovor na temu

bjevta
Bratislav Jevtic
http://www.tojesoft.co.rs
Beograd

Član broj: 5216
Poruke: 367
*.dynamic.sbb.co.yu.

Sajt: www.tojesoft.co.rs


+5 Profil

icon Re: unmanaged code u dll i problem sa njim26.08.2007. u 22:09 - pre 202 meseci
ajd, malo, da teoretišem pred spavanje. znam da neću biti od koristi ali:
1. ako dll treba samo da dobaci podatke iz web servisa, bolje napiši svoju rutinu. nije komplikovano a nećeš morati da loviš gremline.
2. prati utrošak memorije aplikacije/dll-a da bi potvrdio da li je memory leak. mada, slaba vajda od toga, i ako jeste, nećeš biti puno pametniji.
3. izoluj problem. napravi test aplikaciju koja samo poziva taj dll i loguje se/poziva web service. Konzolna aplikacija, loguj šta se može i neka radi ceo dan ili duže.
4. kontaktiraj autora dll-a i pitaj za savet. ovo bi trebalo da uradiš pre prethodnih tačaka.
Acta, non verba!
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
82.117.201.*



Profil

icon Re: unmanaged code u dll i problem sa njim28.08.2007. u 09:06 - pre 202 meseci
Probao sam sve to. Napravio sam WinForms aplikaciju.
Otkrio sam da klase koje instanciram iz tog dll-u nemaju
destruktor (Dispose) metod. Znači konstanto zauzimaju memoriju
i to unmanaged memoriju (To sam otkrio pomoću profilera)

Postoji li način da nekako oslobodim memoriju koju zazuzimaju
ti objekti? Na google nisam ništa našao.
 
Odgovor na temu

masetrt
Marko Djurovic
Programer, Omni-Explorer
Beograd

Član broj: 3129
Poruke: 228
195.252.119.*

Sajt: www.vast.com


+2 Profil

icon Re: unmanaged code u dll i problem sa njim28.08.2007. u 10:14 - pre 202 meseci
Koliko ja znam u tom dll-u mora da postoji funkcija (ili pak neka metoda klase) koja ce oslobadjati memoriju. Opet konsultuj autora ili dokumentaciju. Za COM objekte popstoji Marshal.FreeCoTaskMem(IntPtr). Mozda u Marshal klasi ima nesto i za releasovanje pa je prouci.

[Ovu poruku je menjao masetrt dana 28.08.2007. u 11:28 GMT+1]

[Ovu poruku je menjao masetrt dana 28.08.2007. u 11:29 GMT+1]
His majesty Grand Duke of Shumadija and Western Pomoravlje
 
Odgovor na temu

[es] :: .NET :: unmanaged code u dll i problem sa njim

[ Pregleda: 2760 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.