GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Pluginok és Programok => A témát indította: ChuckNorris - 2011. Június 27. - 13:06:05

Cím: Crashdetect plugin
Írta: ChuckNorris - 2011. Június 27. - 13:06:05
Eredeti téma: http://forum.sa-mp.com/showthread.php?t=262796

Szóval,én nagyon megörültem neki amikor megláttam,mivel tényleg az a dolga amit a neve is tükröz  :)  Itt egy kis fordítás:

A plugin dolga hogy kiderítse miért crashel szervered,Windowson és Linuxon is.
Példák
Ez a kód crashelni fogja a szervert:
[pawn]#include <a_samp>
main() {
    function1();
}
function1() {
    function2();
}
function2() {
    new buf[10];
    fread(File:123, buf);
}[/pawn]
Alapméretezetten amikor meghívódik a function2,a szervered azonnal leáll és ha windowst használsz bedob valami értelmetlen szöveget a crashinfo.txt-be.
De a chrashdetectel,ilyesmit fogsz látni a szervered logjában:
 
[12:23:12] Crash caused by fread at address 00000090 (gamemodes\\test.amx)

 
Ez kicsit árulkodóbb. Mostmár viszont tudod,hogy az fread miatt crashelt a szervered!
 
What is more interesting is to find how this managed to happen... And you can! Just compile that script with symbolic information (pass -d3 flag to the compiler), you will get this:[/quote]
Ebbõl azt vettem ki,hogy még több információt kapunk a crashrõl ha valamilyen információval fordítjuk le a scriptünket,ott volt egy link amibõl kihalásztam ezt a témát: http://forum.sa-mp.com/showpost.php?p=1253632&postcount=7 és ebbõl a tlmából meg kihaklásztam ezt a témát: http://forum.sa-mp.com/showthread.php?t=249897
Amibõl azt vettem ki,hogy a pawno könyvtárában (szóval ahol van a fordítód) létre kell hozni egy pawn.cfg nevû fájlt és ezt kell bele írni:
 
-d0 -r

 
Helyesbítés,ezt kell bele írni:
 
-d3

 
Eredmény:
 
[12:20:55] Crash caused by fread on line 13 in test.pwn (gamemodes\\test.amx)
[12:20:55] Stack trace of gamemodes\\test.amx (most recent call first):
[12:20:55]   function2 on line 8 in test.pwn
[12:20:55]   function1 on line 4 in test.pwn
[12:20:55]   main (entry point)

 
Én még nem teszteltem,de érdekesnek látszik
Cím: Crashdetect plugin
Írta: palesz_88 - 2011. Június 27. - 13:13:31
Nem rossz  ;D
Cím: Crashdetect plugin
Írta: krisk - 2011. Június 27. - 13:50:49
Két dologra hívnám fel a figyelmet, amit rosszúl írtál.
Egyik:
\"What is more interesting is to find how this managed to happen... And you can! Just compile that script with symbolic information (pass -d3 flag to the compiler), you will get this:\"
Tehát a pawn.cfg-be -d3 at kell írni.
A másik, hogy ez az egész a szerver logban van.
Cím: Crashdetect plugin
Írta: kurta999 - 2011. Június 27. - 15:22:01
Nekem ez nagyon bejött.
Elõször megszenvedtem azzal a debugos cuccal, de aztán sikerült :D.
Amúgy ettõl jóval nagyob lesz az .amx-ed mérete. ( Nemcsoda, mert belerakja a debug infókat )
Cím: Crashdetect plugin
Írta: krisk - 2011. Június 27. - 16:24:24
Paradise RP crash okként bedobott egy YSI include-ot...
Cím: Crashdetect plugin
Írta: ChuckNorris - 2011. Június 27. - 17:13:34
Idézetet írta: krisk date=1309175449\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9215\" data-ipsquote-contentclass=\"forums_Topic
Két dologra hívnám fel a figyelmet, amit rosszúl írtál.
Egyik:
\"What is more interesting is to find how this managed to happen... And you can! Just compile that script with symbolic information (pass -d3 flag to the compiler), you will get this:\"
Tehát a pawn.cfg-be -d3 at kell írni.
A másik, hogy ez az egész a szerver logban van.
 
Az elsõt javítottam,köszi,de a másodikat említettem  :)
 
,ilyesmit fogsz látni a szervered logjában:[/quote]
Cím: Crashdetect plugin
Írta: kurta999 - 2011. Június 30. - 17:50:02
Amúgy már régen elérhetõ egy újabb verzió.
Ez a verzió már a futási hibákat is jelzi. Pl.: Nagyobb értéket akarsz módosítani a tömbben, mint annak a maximum értéke.
Letöltés
Ez a 0x5A656578 ez ZeeX lesz, aki a ZCMD-t csinálta :D
Cím: Crashdetect plugin
Írta: ptlevi - 2011. Július 13. - 20:10:19
Sziasztok.
Az src mappát csak simán a szerver mappájába kell rakni vagy máshova?
És ha máshova akkor hova?  :D
Cím: Crashdetect plugin
Írta: kurta999 - 2011. November 07. - 14:05:17
Eléggé elavult a téma, de elérhetõ újabb verzió is.
Nagyon ajánlom mindenkinek aki használja, hogy frissítsen.
Nekem ez az új verzió máris megtalált egy crashet, amit a régebbik nem.
Ezenkívül mostmár az idõt is menti, hogy mikor crashelt.
Az idõformátumot az strftime-nek megfelelõen lehet módosítani, ahogy a server.cfg-ben.
Letöltés.
Példa:
 

[2011/11/03 22:26:30]
[2011/11/03 22:26:30] ----- Crashdetect v3.6 loaded -----
[2011/11/03 22:26:32] Loaded debug info from \'gamemodes/nmss.amx\'
[2011/11/05 14:22:33] Script[gamemodes/nmss.amx]: In file \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\' at line 18841:
[2011/11/05 14:22:33] Script[gamemodes/nmss.amx]: Run time error 4: \"Array index out of bounds\".
[2011/11/05 14:22:33] Backtrace (most recent call first):
[2011/11/05 14:22:33]   File \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\'
[2011/11/05 14:22:33]     cmd_propdata(playerid=0x1) [entry point]
[2011/11/05 14:22:33] Error details:
[2011/11/05 14:22:33]   Array max. index is 211 but accessing element at 4294966896
[2011/11/05 14:22:39] Script[gamemodes/nmss.amx]: In file \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\' at line 18841:
[2011/11/05 14:22:39] Script[gamemodes/nmss.amx]: Run time error 4: \"Array index out of bounds\".
[2011/11/05 14:22:39] Backtrace (most recent call first):
[2011/11/05 14:22:39]   File \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\'
[2011/11/05 14:22:39]     cmd_propdata(playerid=0x1) [entry point]
[2011/11/05 14:22:39] Error details:
[2011/11/05 14:22:39]   Array max. index is 211 but accessing element at 4294966896
[2011/11/05 14:22:43] Script[gamemodes/nmss.amx]: In file \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\' at line 18841:
[2011/11/05 14:22:43] Script[gamemodes/nmss.amx]: Run time error 4: \"Array index out of bounds\".
[2011/11/05 14:22:43] Backtrace (most recent call first):
[2011/11/05 14:22:43]   File \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\'
[2011/11/05 14:22:43]     cmd_propdata(playerid=0x1) [entry point]
[2011/11/05 14:22:43] Error details:
[2011/11/05 14:22:43]   Array max. index is 211 but accessing element at 4294966896
[2011/11/05 14:34:08] Server crashed due to an unknown error.
[2011/11/05 14:34:19]
[2011/11/05 14:34:19] ----- Crashdetect v3.6 loaded -----
[2011/11/05 14:34:21] Loaded debug info from \'gamemodes/nmss.amx\'
[2011/11/06 18:19:20] Script[gamemodes/nmss.amx]: In file \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\' at line 16416:
[2011/11/06 18:19:20] Script[gamemodes/nmss.amx]: Run time error 4: \"Array index out of bounds\".
[2011/11/06 18:19:20] Backtrace (most recent call first):
[2011/11/06 18:19:20]   File \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\'
[2011/11/06 18:19:20]     cmd_warns(playerid=0xe, params[]=0x146550) [entry point]
[2011/11/06 18:19:20] Error details:
[2011/11/06 18:19:20]   Array max. index is 59 but accessing element at 65535
[2011/11/06 18:20:11] Script[gamemodes/nmss.amx]: In file \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\' at line 16416:
[2011/11/06 18:20:11] Script[gamemodes/nmss.amx]: Run time error 4: \"Array index out of bounds\".
[2011/11/06 18:20:11] Backtrace (most recent call first):
[2011/11/06 18:20:11]   File \'C:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\SERVER\\gamemodes\\Backup\\nmss_Last_0.3c.pwn\'
[2011/11/06 18:20:11]     cmd_warns(playerid=0xe, params[]=0x146550) [entry point]
[2011/11/06 18:20:11] Error details:
[2011/11/06 18:20:11]   Array max. index is 59 but accessing element at 65535
Cím: Crashdetect plugin
Írta: hpeter94 - 2011. November 28. - 17:06:46
én meg találkoztam olyan moddal ami ettõl a plugintól crashelt :D
Cím: Crashdetect plugin
Írta: kurta999 - 2011. November 28. - 19:05:26
Az is elõfordulhat.
Én ha lefordítom a -d3 flaggal az object scriptet, akkor azt bese tölti.
De ez nagyon könnyen megoldható. Amikor az objecteket fordítom át, akkor átnevezem a pawn.cfg-t, aztán vissza és megvan oldva.
Cím: Crashdetect plugin
Írta: hegdavid95 - 2011. December 26. - 18:27:45
valaki nem irná le részletesen hogy kell ezt beüzemelni mer én nem vágom.. csináltam pawno mappába egy pawn.cfg-t abba beleirtam hogy -d3
meg a fájlokat bemásoltam a szerver mappába és ujra compileztem amodot de semmi
Cím: Crashdetect plugin
Írta: kurta999 - 2011. December 27. - 13:11:57
Idézetet írta: hegdavid95 date=1324920465\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9215\" data-ipsquote-contentclass=\"forums_Topic
valaki nem irná le részletesen hogy kell ezt beüzemelni mer én nem vágom.. csináltam pawno mappába egy pawn.cfg-t abba beleirtam hogy -d3
meg a fájlokat bemásoltam a szerver mappába és ujra compileztem amodot de semmi
 
Pedig most írtad le, hogy hogyan kell :D
Nézd meg a crashdetect.log-ot, hogy mit ír benne.
A fájlokat meg nem a szervermappába kell, hanem a plugins mappába kell a .dll/.so-t is meg azt a másik fájlot, ami hozzá van, azt is oda.
Cím: Crashdetect plugin
Írta: hegdavid95 - 2011. December 27. - 16:49:02
igen sikerült köszi kurta már cska az a baj hogy amikor elinditom linuxos szerón ezt akkor a gamemode betöltése elött megáll az egész tehát betölti a scripteket utánna kész megáll mintha kész lenne vioszont ha kiveszema crashdetectet akkor meg emgy rendesen
Cím: Crashdetect plugin
Írta: kurta999 - 2011. December 27. - 17:02:41
Én akkor arra tippelek, hogy valamilyen filterscritpet tölt be. Mondjuk az object scriptet.
Próbáld meg a filterscripteket a -d3 flag nélkül átfordítani, és csak a módot a -d3 flaggal.
Hátha segít.
Nekem az object scriptel csinált hasonlót.
Cím: Crashdetect plugin
Írta: hegdavid95 - 2011. December 27. - 17:23:01
nem nem ez miatt volt de amugy hogyha windowson akarom elinditani azt irjha hiányzik az msvcmp100.dll
Cím: Crashdetect plugin
Írta: kurta999 - 2011. December 27. - 18:14:53
Keress rá google-n a .dll fájlra, és rakd be a system32 mappába, vagy a szerver mappába.
Nekem is volt ilyen hiba régebben és ez segített.
Cím: Crashdetect plugin
Írta: hegdavid95 - 2011. December 27. - 18:21:12
értem köszi megprobálom de igazábol linuxon volna lényeges ez nem winfoson