mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 20:13:32 +01:00
78 lines
1.6 KiB
Makefile
78 lines
1.6 KiB
Makefile
ifeq "$(COMPILER_SUITE)" "gcc"
|
|
DEBUGGER = gdb
|
|
endif
|
|
|
|
ifeq "$(COMPILER_SUITE)" "clang"
|
|
DEBUGGER = lldb
|
|
endif
|
|
|
|
|
|
CORE_DUMPER = $(shell echo -e "quit" | $(DEBUGGER) --core=$(CORE) 2>&1 | \
|
|
$(SED) '/Core was generated/ !d; s/Core was generated by `//; s/ .*//')
|
|
ifeq ($(CORE_DUMPER),)
|
|
CORE_DUMPER = $(EXE_PATH)
|
|
endif
|
|
|
|
PID = $(shell pidof $(EXE_PATH))
|
|
|
|
all:
|
|
|
|
gdb ddd:
|
|
ifneq ($(CORE),)
|
|
$@ --core=$(firstword $(CORE)) --args $(CORE_DUMPER) $(EXE_ARGS)
|
|
else
|
|
$@ --args $(CORE_DUMPER) $(EXE_ARGS)
|
|
endif
|
|
|
|
lldb:
|
|
ifneq ($(CORE),)
|
|
$@ --core $(firstword $(CORE)) -f $(CORE_DUMPER) -- $(EXE_ARGS)
|
|
else
|
|
$@ -f $(CORE_DUMPER) -- $(EXE_ARGS)
|
|
endif
|
|
|
|
kdbg:
|
|
$@ $(CORE_DUMPER) $(firstword $(CORE)) -a "$(EXE_ARGS)"
|
|
|
|
cgdb:
|
|
ifneq ($(CORE),)
|
|
$@ -- --core=$(firstword $(CORE)) --args $(CORE_DUMPER) $(EXE_ARGS)
|
|
else
|
|
$@ -- --args $(CORE_DUMPER) $(EXE_ARGS)
|
|
endif
|
|
|
|
attach:
|
|
$(DEBUGGER) $(EXE_PATH) -p $(PID)
|
|
|
|
attach-lldb:
|
|
lldb $(EXE_PATH) -p $(PID)
|
|
|
|
attach-gdb:
|
|
gdb $(EXE_PATH) -p $(PID)
|
|
|
|
attach-ddd:
|
|
ddd $(EXE_PATH) -p $(PID)
|
|
|
|
attach-strace:
|
|
strace -f $(EXE_PATH) -p $(PID)
|
|
|
|
report:
|
|
generate-coredump-report.sh -l
|
|
mkdir -p crashes
|
|
if ls *core*.txt.bz2* >/dev/null 2>&1; then mv *core*.txt.bz2 crashes/; fi
|
|
|
|
view-report:
|
|
less `ls -rt crashes/*core*.txt.bz2 | tail -1`
|
|
localcore:
|
|
echo core.%h.%e.%p | sudo tee /proc/sys/kernel/core_pattern
|
|
cp `ls -rt /var/cores/*core* 2>/dev/null | tail -1` .
|
|
|
|
centralcore:
|
|
echo /var/cores/core.%h.%e.%p | sudo tee /proc/sys/kernel/core_pattern
|
|
|
|
coreclean: centralcore-clean
|
|
|
|
centralcore-clean:
|
|
$(RM) -f /var/cores/core* /var/cores/vgcore* || exit 0
|
|
echo-pid:
|
|
@echo PID = $(PID)
|