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

Program se zavrsi neocekivano, bez poruke o gresci?!

[es] :: .NET :: Program se zavrsi neocekivano, bez poruke o gresci?!

[ Pregleda: 1801 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

knelenk
Vladimir Knezevic
Beograd

Član broj: 19554
Poruke: 9
*.vdial.verat.net



Profil

icon Program se zavrsi neocekivano, bez poruke o gresci?!01.09.2004. u 09:59 - pre 239 meseci
Napravio sam klasu u VB.NET-u koja komunicira sa COM portom. Za te potrebe sam koristio 15-ak API funkcija. Smatram da sam ih sasvim normalno pozvao (poznajem C++). Sporni dio koda se izvrsava u posebnoj niti.

Desava se da se cijeli program samo zavrsi u sred rada, bez ikakve poruke, kao da sam ga sam ugasio. To se nije desavalo dok nijesam uveo pomenutu klasu. U pitanju je .NET Framework 1.1.

Pokusao sam da upisujem u log fajl kad je koja funkcija pozvana a kad gotova, medjutim, ni to nije pomoglo - log fajlovi su prekinuti u sred pisanja stringa.

Pretpostavljam da je u pitanju API, ali mi nije jasno kako se ne javlja Exception. Jos da pomenem da ta klasa nema nikakve veze sa glavnim programom, ona pokrece nit koja posmatra dogadjaje sa COM porta i upisuje ih u interni bafer. Iz glavnog programa, s vremena na vrijeme, procitam taj bafer.

Da li je neko imao slican problem?
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.bisinter.net



+311 Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!01.09.2004. u 10:19 - pre 239 meseci
Da li si vrsio sihronizaciju sa baferom, da ne citas i upisujes u isto vreme?
 
Odgovor na temu

knelenk
Vladimir Knezevic
Beograd

Član broj: 19554
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!01.09.2004. u 10:57 - pre 239 meseci
Jesam, ali ne vidim da bi to mogao biti razlog za tiho gasenje aplikacije. Mozda grijesim. Hvala za interesovanje.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!01.09.2004. u 13:02 - pre 239 meseci
Citat:
knelenk: Sporni dio koda se izvrsava u posebnoj niti.

Desava se da se cijeli program samo zavrsi u sred rada, bez ikakve poruke, kao da sam ga sam ugasio.


Naravno, teško je bilo šta reći dok se ne vidi kod, ali mi iz opisa problema liči da je glavna nit završila posao i ugasila se. Npr, pozvao si return u funkciji Main(). Kako sinhronizuješ niti?
 
Odgovor na temu

knelenk
Vladimir Knezevic
Beograd

Član broj: 19554
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!01.09.2004. u 13:15 - pre 239 meseci
Nigdje u programu eksplicitno ne izlazim iz glavne niti. Ni Return, ni End...

Sto se tice niti, ona je samostalna. Jedino sto sam morao sinhronizovati je taj interni bafer, i to dio koda kada mu dodjeljujem vrijednost i kada citam iz njega. Te djelove koda sam uokvirio naredbama (npr):
SyncLock Me
...
bafer &= GetTekst(NizBafer)...
...
End SuncLock

Za citanje bafera, koji je inace privatna promjenljiva, koristim metod koji ga uzima preko property-ja.

Dakle, pustim nit da osluskuje desavanja na COM portu, ona puni bafer, a ja iz glavnog programa samo ponekad uzmem taj bafer i analiziram ga.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!01.09.2004. u 14:03 - pre 239 meseci
Ne moraš eksplicitno da izađeš iz glavne niti. Dovoljno je da imaš neku grešku u sinhronizaciji, pa da glavna nit ne čeka sporednu da se završi, nego se funkcija Main jednostavno završi.

 
Odgovor na temu

knelenk
Vladimir Knezevic
Beograd

Član broj: 19554
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 09:18 - pre 239 meseci
Citat:
Dragi Tata: Ne moraš eksplicitno da izađeš iz glavne niti. Dovoljno je da imaš neku grešku u sinhronizaciji, pa da glavna nit ne čeka sporednu da se završi, nego se funkcija Main jednostavno završi.


A sta mislis, da li bi javio neki Exception? Da li je moguce da se nesto lose desi i program se bez ikakve najave ugasi?
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.bisinter.net



+311 Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 09:42 - pre 239 meseci
Probaj da se nakacis na ThreadException application klase i u jednom i u drugom threadu... :)
 
Odgovor na temu

havramm
Miroslav Havram
Software Developer / Engineer
Beograd

Član broj: 4603
Poruke: 255
212.62.55.*



Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 09:56 - pre 239 meseci
Time bas i ne dobija nesto. Samo ce izvrsiti "override" (na neki nacin) default prozora za exception handling, tj. dobice samo razlicitu reprezentaciju onoga sto bi dobio i bez toga.

Jesi li probao da sinhonizaciju izvrsis sa nekom statickom promenljivom a ne sa this (iliti Me u VB-u), ja sam, recimo, tako resavo neke probleme.

Jos nesto, ukoliko ti se recimo dogodi neki exception unutar worker thread-a (WT), ukoliko nemas "hvatac" izuzetaka (try-catch blok), nit ce jednostavno prekinuti izvrsavanje ali ti neces dobiti nikakvu informaciju. Uokviri unutar WT-a sumnjivi deo koda sa try-catch blokom i daj neku signalizaciju (recimo MessageBox-om) ukoliko se desi nesto nepredvidjeno.
If it's a girl then they're gonna call it Sigourney, after an actress. If it's a boy, then they're gonna call it Rodney, after Dave!
 
Odgovor na temu

knelenk
Vladimir Knezevic
Beograd

Član broj: 19554
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 13:27 - pre 239 meseci
Nista nijesam uspio uhvatiti Try...Catch blokovima.

Jos jednu stvar nijesam pomenuo. Povremeno mi se javlja greska:
--------------------------------------------------------------
An unhandled exception of type 'System.ExecutionEngineException' occurred in unknown module
--------------------------------------------------------------
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 13:42 - pre 239 meseci
Citat:
knelenk: 'System.ExecutionEngineException' occurred in unknown module


Ovo ume da se desi kad nisi sasvim dobro deklarisao pozive API funkcija.
 
Odgovor na temu

knelenk
Vladimir Knezevic
Beograd

Član broj: 19554
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 15:12 - pre 239 meseci
Provjerio sam pozive API-ja jos jednom. Mislim da su u redu. Probao sam da bacim probni exception u niti i da ga ne presretnem. Ipak me je obavijestio da postoji exception.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: Program se zavrsi neocekivano, bez poruke o gresci?!02.09.2004. u 15:41 - pre 239 meseci
Možeš li da postupiš ovako:

Prepravi program da ne koristi API pozive (tj, definiši "prazne" pozive umesto njih) i vidi da li to radi lepo.

Ako radi, znači imaš problem sa API pozivima. Onda ubacuješ jedan po jedan API poziv nazad i vidiš kad program "crkne".

Ako ne radi, znači nije do API-ja
 
Odgovor na temu

[es] :: .NET :: Program se zavrsi neocekivano, bez poruke o gresci?!

[ Pregleda: 1801 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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