Program leall, de miert? (Delphi)
2006-05-02T14:19:14+02:00
2006-05-04T10:50:25+02:00
2022-07-23T21:19:59+02:00
Duncan85
A problema a kovetkezo:
Van egy program ami ejjel nappal menne egy gepen("serveren") ezt a programot en irtam Delphiben, elmeletileg a program mukodeseben nincs olyan dolog melynek a hatasara le kellene allnia a programnak, es fura modon megis megteszi azt! Miert?
A programot Delphi 7 Ent-ben irtam egy angol XP SP2-es gepen, mig a serveren 2003 server futt! Ez szerintem nem befolyasolo tenyezo de azert leirtam hogy pontosak legyunk...
A program meg tomoritve lett az un. Aspack nevu progival ami ugye egy exe es dll tomorito lenne!
Okozhatja ezt az Aspack? Mert ha igen akkor inkabb maradok a "tomoritettlen" exe-nel mert az sem egy veszes meret 779K, de azert gondoltam 313K-san jobban mutat....
Tovabba meg fut egy szal(Mythread) is a programban!
Amit percenkent 4x letrehoz a program!
Kerdesem meg hogy esetleg ezt nem-e kell lezarni a vegen mint pl a Stringlist-nel ugye fel kell szabaditani a memoriat a free szocskaval, mert ha ezt is lekell zarni akkor lehet hogy ez is befolyasolhatja a leallast(un. tultoltodes lephet fel).

Mas nem jut eszembe ami ilyes fajta leallast eredmenyezhetne, ha esetleg van otletetek akkor szivesen varom oket!
Az elgondolasokat elorre is koszonom!
Mutasd a teljes hozzászólást!
Én egyszer a TaskInfo-val fedeztem föl, hogy a Handle-jeim 10 000 körül járnak, bár nem tűnik olyan soknak, mert csak pár 10MB-ot jelentett, de így derítettem ki, hogy elfelejtek elengedni Handle-eket, amiből másodpercenként kértem...
Mutasd a teljes hozzászólást!

  • nem az aspack okozza, a win lövi ki.
    keress rá itt a tudástárban, már volt róla szó.
    Mutasd a teljes hozzászólást!
  • Jah mert valami server.exe nevet adtál neki.. Azt lövi ki mindíg.
    Mutasd a teljes hozzászólást!
  • Hat nem tudom szerintem "Ip&Log Sender.Exe" ebben nincsen semilyen server megjegyzes!
    Mutasd a teljes hozzászólást!
  • A windows felfüggeszti, leállítja a hibás szervizeket. Ezt felülbírálhatod a tulajdonságok közt, de inkább célszerűbb megszüntetni a hibaforrását.

    Szálakat igenis meg kell szüntetni, vagy manuálisan, vagy pedig a FreeOnTerminate True-ra állításával.

    w2k3 vs xp. Nálunk egy szerviz, atombiztosítva (másból sem áll, mint try-except, és outputdebugstring), kb. 2 hete megy egy 2k3 szerveren. Míg egy XP Home-n, volt úgy hogy 2 óránként összefosta magát. Hibaüzenet nuku, de rendellenességgel folytatta tovább a munkáját.
    Mutasd a teljes hozzászólást!
  • Tipp: performance monitorral nézd meg, hogy változik:
    - memória foglalás
    - virtuális memória foglalás
    - szálak száma
    - handle-ek száma
    Mutasd a teljes hozzászólást!
  • Tracelj. Minden elágazáshoz és minden ciklusba tegyél egy writeln()-t ami fájlba ir valami hülyeséget, pl hogy melyik osztály melyik objektum. És amit utoljára ir a fájlba az lesz a hibás rész. Jah persze azt figyeld hogy a fájlod mérete ne nagyon nöljön meg, szal néha flush-oljt.

    Snye!
    Mutasd a teljes hozzászólást!
  • UDV!
    Koszike a valaszt!
    ezt en is eszrevettem hogy a 2003 jovaql stabilabb mint az XP mar mint server szemszogbol!

    A szalakat meg nem tudtam hogy free-t kell tolni...!
    De ebben az esetben is hogy ha igy van megcsinalva:

    var Mythread:Tmythread; . . . procedure feladatok(); begin . . Mythread:=Tmythread.creat; . . end;
    es a feladatok procedure olyan 15 mp-n kent meg van hivva!
    tehat az a kerdes hogy ha pl lefut 1x a szal akkor nem semmisul meg?
    mondjuk ez logikusnak hangzik mert ez ugy nem java ahol ugye van a szuro mehanizmu...
    de ugy gondoltam ha egy szal(belso process) lefut akkor az meg is close/free-eli magat....
    de akkor tevedtem?
    mondjuk nem kotelezo a valasz mert mindjart keresozok egyet es akkro meg is lesz a valasz...
    Mutasd a teljes hozzászólást!
  • A memoria foglalas lehet gond, mert amikor ezt irtam vegul kiderult hogy nem az volt a gond hogy leallt hanem az volt a gond hogy elkezdte zabalni a memo-t de csak ugy random vagyis azt mondom hogy az elozo 68 oraban is ugyanazt csinalta a progi ugyanazokat a parancsokat hasznaltuk hozza ugyanazok mentek vegbe, es egyszer csak ugy el kezdte foglalni a memot hogy a proci 100% tolta a page file kezeles miatt es beletelt vagy 15 percbe mire sikerult belepni...
    a szalas kerdes ugye azon mulik hogy eltunnek-e vagy se mert ha eltunnek akkor csak 1 szal fut...
    Mutasd a teljes hozzászólást!
  • Hat igen gondoltam ra csak ugy vagyok vele hogy inkabb gondolkozok mert ez a moka nem lenne semmi egy 50K-s forraskodu proginal aminel van vagy 60elagazas meg egy csomo function, tehat nem keves munka lenne...
    Mutasd a teljes hozzászólást!
  • Én egyszer a TaskInfo-val fedeztem föl, hogy a Handle-jeim 10 000 körül járnak, bár nem tűnik olyan soknak, mert csak pár 10MB-ot jelentett, de így derítettem ki, hogy elfelejtek elengedni Handle-eket, amiből másodpercenként kértem...
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd