- Katılım
- 23 Eki 2022
- Mesajlar
- 3,514
- Çözümler
- 9
- Tepkime puanı
- 2,145
- Puanları
- 113
- Yaş
- 28
core yi otomatik olarak acar Hatayın Hangi Systemde Hangi Cpp de oldunugu Bildirir
[CHARGE=2000]
[/CHARGE]
[CHARGE=2000]
Kod:
#!/bin/sh
# core_auto.sh - otomatik core okuma + hata filtreleme scripti
# Renk kodları
RED="\033[1;31m"
YELLOW="\033[1;33m"
GREEN="\033[1;32m"
RESET="\033[0m"
LOGDIR="/usr/game/core_logs"
mkdir -p "$LOGDIR"
CORE_PATHS="
/usr/game/core/db/db.core
/usr/game/core/auth/game.core
/usr/game/core/ch1/core1/game.core
/usr/game/core/ch1/core2/game.core
/usr/game/core/ch1/core3/game.core
/usr/game/core/ch1/core4/game.core
/usr/game/core/game99/game.core
"
BIN_PATH="/usr/game/share/bin"
for CORE in $CORE_PATHS; do
if [ -f "$CORE" ]; then
SERVICE=$(echo "$CORE" | cut -d'/' -f5)
BIN="$BIN_PATH/$SERVICE"
[ "$SERVICE" = "ch1" ] && BIN="$BIN_PATH/game"
echo "$CORE" | grep -q "/db/" && BIN="$BIN_PATH/db"
echo "$CORE" | grep -q "/auth/" && BIN="$BIN_PATH/auth"
if [ -x "$BIN" ]; then
OUTFILE="$LOGDIR/$(basename $SERVICE)_$(date +%Y%m%d_%H%M%S).log"
echo -e "${GREEN}[*] Analiz başlıyor:${RESET} $CORE (bin: $BIN)"
gdb "$BIN" "$CORE" --batch -ex "bt full" -ex "thread apply all bt" > "$OUTFILE" 2>&1
echo -e "${GREEN}[+] Log kaydedildi:${RESET} $OUTFILE"
echo -e "${YELLOW}--- Hata Dosya Listesi ---${RESET}"
grep -E "at .*\.cpp:[0-9]+" "$OUTFILE" | sed "s/^/${RED}HATA:${RESET} /"
echo ""
else
echo -e "${RED}[!] Binary bulunamadı:${RESET} $BIN"
fi
else
echo -e "${RED}[!] Core bulunamadı:${RESET} $CORE"
fi
done