User
Pass
2FA
 
 

[TUTORIAL] Debug coredump amxmodx 1.8.2 [ LINUX ]

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> CS 2006-2019 (Archived) -> Tutorials
Author Message1822
EDUTz

[HardcoreAmxxScripter]



Status: Offline
(since 15-08-2021 16:34)
Joined: 27 Dec 2010
Posts: 4306, Topics: 244
Location: Jud. Miserupia, sat Bagadanc

Reputation: 4085
Votes: 179

         
Post Posted: 25-03-2014, 00:16:27 | Translate post to: ... (Click for more languages)

DISCLAIMER


IN PRIMUL RAND ACEST TUTORIAL E DESTINAT CELOR CARE SE PRICEP CATUSI DE PUTIN IN LINUX.
DACA NU INTELEGETI CE SA FACETI, INSEAMNA CA NU AVETI CUNOSTINTE INDEAJUNS.
EU NU VA GARANTEZ NICI UN SUPORT PENTRU DEBUG, EU DOAR VA OFER O VARIANTA DE A SCAPA DE BUGURI.


Va rog nu folositi aceste module daca sunteti pe HOST si nu aveti acces la folderul ce contine hlds_run. !!!!!!!!!!!!!!!!


Daca nu folositi amxmodx 1.8.2 NU FOLOSITI ACESTE MODULE ! Nu va merge decat daca aveti serverul up to date


DETALII


Am decis sa fac un scurt tutorial pentru detinatorii de servere cstrike ce au facut update-ul HLDS din 2013 din SteamCMD si folosesc amxmodx 1.8.2.

Nu o sa ma lungesc prea mult.

Ce am folosit la compilare: Centos 6.5 Final (x64) , GCC , GGDB3, etc ...

Am facut arhiva cu tot cu module deja compilate pentru DEBUG, asa ca linkul in aveti aici :

DOWNLOAD ---> AMXMODX 1.8.2 DEBUG BY EDUTZ

Practic aveti modulele deja compilate in modul DEBUG pentru a descoperi problemele pe care le aveti la servere. Aveti grija ca aceste module compilate de mine nu inseamna ca vor merge pe orice versiune de linux. Va trebuiesc anumite dependencies pe care OS-ul vostru nu le are ... asa ca eu va recomand un scurt make clean & make debug ca sa va adaptati modulele dupa propriul OS.

Care e treaba cu aceste module ? Sper ca nu trebuie sa explic faptul ca amxmodx_mm_i386.so ajunge in cstrike/addons/amxmodx/dlls

iar restul ajung in cstrike/addons/amxmodx/modules

NOTA: nu am avut timp si nici chef sincer sa fiu sa recompilez modulul mysql .. E nevoie de sursa de la mysql si chiar am altceva mai bun de facut ...

Dupa ce ati recompilat propria voastra versiune, pe OS-ul propriu (sau nu), mutati fisierele in folderele lor precum am zis mai sus.
Din acest moment verificati serverul sa mearga. Ar trebui sa nu aibe nici o problema. Daca sunt probleme, nu uitati sa dati chmod 777 & chown {user} pe module.

Din moment ce sunt vedeti ca sunt functionale, serverul merge fara nici o problema, puteti trece la pasul urmator.

Deschideti hlds_run si cautati

Code:
ulimit -c 2000


o schimbati in

Code:
ulimit -c unlimited


Atfel, veti avea acces complet la sursa erorii ... si doar asa sistemul va face o analiza completa a erorii !

Apoi in linia de start e neaparat sa adaugati -debug de exemplu ./hlds_run -debug ....etc

Dupa toate modificare necesare de mai sus, restartati serverul cu noua comanda de start. Din acest moment in momentul in care serverul va lua CRASH va produce un core.123456 (sau alte numere) de cateva sute de Mb de obicei ...

DACA AVETI PROBLEME CONSTANTE CU CRASH-UL, ASTA VA UMPLE REPEDE SPATIUL VOSTRU DE STOCARE.
Recomand sa le setrgeti dupa ce le-ati rezolvat. Ocupa spatiu in plus si nu mai aveti ce face cu ele oricum.


Dupa ce v-a picat serverul puteti vedea ca s-a generat un nou core.XXXXX in folderul CS [sau ma rog, unde aveti voi hlds_run]

Din acest moment puteti sa incepeti sa faceti debug la server, sa vedeti de la ce plugin pica, de la ce comanda e problema si tot asa ...
Problema e ca de aici devine mai greu si nicesita putina atentie din partea voastra. Aici devine cel mai complicat.

Sa ziceam ca avem facut core.1234 in /home/cs/cstrike/core.1234

mergem cu cd /home/cs/cstrike sau mai exact mergem in folderul care contine hlds_run

apoi dam gdb ./hlds_run core.1234 sau core.XXXX cum aveti voi acolo ....

Dupa ce dati comanda devine un adevarat calvar, cum sa faceti debug la amxmodx e intr-adevar in calvar. De mult ori nu va merge pentru ca ar trebui sa va explic mult mai multe si nu ati sti cum sa le faceti oricum. Asa ca solutia de acum e cea mai simpla. CEA MAI SIMPLA. Daca nici asa nu va iese eroarea nu am cum sa va ajut, va trebuie cunostine ceva mai multe despre linux.

O sa vin cu un fisier ajutator. Il puteti descarca de aici :

ANALIZE GDB

O sa va explic exact despre ce e vorba cu aceste fisiere de la analize. Dezarhivati-le unde vreti voi. Eu voi presupune ca s-a dezarhivat in /home deci voi avea fisierul
/home/analyze.gdb


Pana aici totul e pus la punct. Nu mai aveti nevoie de nimic atceva. Decat sa pice serverul

In momentul in care pica, va crea un core.XXXXX
Sa zicem ca acest fisier este in /home/cstrike/
mergem acolo cu cd /home/cstrike

dupa care scriem

[root@server cs]# gdb ./hlds_linux core.XXXX (unde XXXX e numarul de la core facut)

Sa zicem ca avem core.1234 in /home/server3/service1/cs
Intram acolo cu cd
dupa care scriem

gdb ./hlds_linux core.XXX (sau ce numar are
ex: gdb ./hlds_linux core.24536


Din acest moment o sa va apara anumte linii .. multe .. nu are rost sa explic ce si cum ..Daca datti comanda " bt " se va incerca sa va arate unde e problema, dar nu va merge in cele mai multe ori din cazuri. Asa ca vom apela la alte comenzi.

Sa zicem ca aplicam comanda


gdb ./hlds_linux core.24536


o sa ne apara mai multe linii .. nu o sa intru in detaliu ... dar va dau un exemplu din eroarea pe care o am eu acum ...






Nu doresc si nu intentionez sa va rezolv problemele voastre de la fiecare sevrer in parte. ASta e eroarea de la stackul meu ...

Ceea ce inseamna ca undeva am probleme cu cs_get_user_teams ....

Asta cum se rezolva ?? SIMPLU !

Avem de downloadat urmatourl fisier :

DOWNLOAD --> ANALIZARE FISIERE

Pe care sa zicem ca-l punem in folderul /HOME

Acum ceea ce e important

Odata ce sunteti in GDB si puteti introduce comnenzi in ele ..... urmeaza comanda ..

source /home/analyze.gdb ----- daca acel fisier este acolo.



din acest moment veti avea acces la toate problemele voastre




Pentru pluginuri complicate le fac cu $$ pe paypal/psc. PM

0 0
  
Back to top
View user's profile Send private message Yahoo! Messenger ID
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> CS 2006-2019 (Archived) -> Tutorials  


The time now is 23-04-2024, 18:12:41
Copyright info

Based on phpBB ro/com
B

 
 
 







I forgot my password


This message appears only once, so
like us now until it's too late ! :D
x