Avatar billede ekt1 Nybegynder
14. november 2003 - 22:09 Der er 5 kommentarer

Gdb and core files

Mit program lave ikke core fil når den laver et crash
og det vil jeg gerne have den til hvad skal jeg gøre?
programmet køre på linux, Shell Bash
start med
csh ./startup &


#!/bin/csh
# Set the port number.
set port = 9999
# if ( "$1" != "" ) set port="$1"

# Change to area directory.
cd ../web

# Set limits.
if ( -e shutdown.txt ) rm -f shutdown.txt

while ( 1 )
    # If you want to have logs in a different directory,
    #  change the 'set logfile' line to reflect the directory name.
    # Set the file name to m,d,y
    set index = `date '+%m-%d-%y=%H:%M:%S'`

    while ( 1 )
    set logfile = ../../../logs/$index.log
    if ( ! -e $logfile ) break
    @ index++
    end

    # Run rom.
    ../src/web $port >&! $logfile

    # ADD THIS LINE
#    echo q|gdb -c core ../src/web >&! $logfile.crash
 
    # Restart, giving old connections a chance to die.
    if ( -e shutdown.txt ) then
    rm -f shutdown.txt
    exit 0
    endif
    sleep 15
end

Makefile:
compilet gcc

# $Id $
# Makefile Web
CC = gcc
RM = rm
EXE = web
PROF = -O -ggdb

# Use these two lines to use crypt(), ie on Linux systems.
C_FLAGS = $(PROF) -Wall
L_FLAGS = $(PROF) -lcrypt -lm

# Uncomment these two lines to use plaintext passwords.
# This is how you fix the 'crypt' linking errors!
# C_FLAGS = -Wall $(PROF) -DNOCRYPT
# L_FLAGS = $(PROF) -DNOCRYPT


SRC_FILES := $(wildcard *.c)

# Object Files
OBJ_DIR = obj
OBJ_FILES := $(patsubst %.c,$(OBJ_DIR)/%.o,$(SRC_FILES))

web: $(OBJ_FILES)
    $(RM) -f $(EXE)
    $(CC) $(L_FLAGS) -o $(EXE) $(OBJ_FILES)
        $(OBJ_DIR)/%.o: %.c
    $(CC) $< $(C_FLAGS) -c -o $@

clean:
    $(RM) -f $(OBJ_FILES) $(EXE) *~ *.bak *.orig *.rej
Avatar billede segmose Nybegynder
17. november 2003 - 16:45 #1
Hvis jeg husker rigtigt laver den core i CWD (current working directory) dvs. programmet (brugeren) skal have skriverettigheder der hvor den køres fra, evt. lave en core fil selv (echo 0 > core).
Avatar billede ekt1 Nybegynder
19. november 2003 - 18:42 #2
8 drwxr-sr-x    2 web      web          8192 Nov 19 00:49 html
  4 drwxr-sr-x    3 web      web          4096 Nov 16 14:22 src

Programmet køre fra area og selv programmet er i src
og som du kan jeg køre den med brugeren web

3148 -rwxrwxr-x    1 web      web      3218503 Nov 16 14:22 WServ
kan du give mig lidt mere help nu?
Avatar billede segmose Nybegynder
20. november 2003 - 10:02 #3
prøv at skive

echo 0 > core

i area, du burde nu have en core fil, check at der er skrive rettigheder til denne. prøv at lave en coredump og se om filen har ændret sig.
Avatar billede ekt1 Nybegynder
21. november 2003 - 21:03 #4
nope
Avatar billede segmose Nybegynder
24. november 2003 - 09:36 #5
Det her spørgsmål har været oppe før hvor det bliv løst prøv at søge på core og/eller dump her på eksperten.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester