mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-25 22:18:07 +00:00
debug_utilities: Create the ast_coredumper utility
This utility allows easy manipulation of asterisk coredumps.
* Configurable search paths and patterns for existing coredumps
* Can generate a consistent coredump from the running instance
* Can dump the lock_infos table from a coredump
* Dumps backtraces to separate files...
- thread apply 1 bt full -> <coredump>.thread1.txt
- thread apply all bt -> <coredump>.brief.txt
- thread apply all bt full -> <coredump>.full.txt
- lock_infos table -> <coredump>.locks.txt
* Can tarball corefiles and optionally delete them after processing
* Can tarball results files and optionally delete them after processing
* Converts ':' in coredump and results file names '-' to facilitate
uploading. Jira for instance, won't accept file names with colons
in them.
Tested on Fedora24+, Ubuntu14+, Debian6+, CentOS6+ and FreeBSD9+[1].
[1] For *BSDs, the "devel/gdb" package might have to be installed to
get a recent gdb. The utility will check all instances of gdb
it finds in $PATH and if one isn't found that can run python, it
prints a friendly error.
Change-Id: I935d37ab9db85ef923f32b05579897f0893d33cd
(cherry picked from commit cb47b45560)
This commit is contained in:
40
configs/samples/ast_debug_tools.conf.sample
Normal file
40
configs/samples/ast_debug_tools.conf.sample
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# This file is used by the Asterisk debug tools.
|
||||
# Unlike other Asterisk config files, this one is
|
||||
# "sourced" by bash and must adhere to bash semantics.
|
||||
#
|
||||
|
||||
# A list of coredumps and/or coredump search patterns.
|
||||
# Bash extended globs are enabled and any resulting files
|
||||
# that aren't actually coredumps are silently ignored
|
||||
# so you can be liberal with the globs.
|
||||
#
|
||||
# If your patterns contains spaces be sure to only quote
|
||||
# the portion of the pattern that DOESN'T contain wildcard
|
||||
# expressions. If you quote the whole pattern, it won't
|
||||
# be expanded and the glob characters will be treated as
|
||||
# literals.
|
||||
#
|
||||
# The exclusion of files ending ".txt" is just for
|
||||
# demonstration purposes as non-coredumps will be ignored
|
||||
# anyway.
|
||||
COREDUMPS=(/tmp/core[-._]asterisk!(*.txt) /tmp/core[-._]$(hostname)!(*.txt))
|
||||
|
||||
# Date command for the "running" coredump and tarballs.
|
||||
# DATEFORMAT will be executed to get the timestamp.
|
||||
# Don't put quotes around the format string or they'll be
|
||||
# treated as literal characters. Also be aware of colons
|
||||
# in the output as you can't upload files with colons in
|
||||
# the name to Jira.
|
||||
#
|
||||
# Unix timestamp
|
||||
#DATEFORMAT='date +%s.%N'
|
||||
#
|
||||
# Unix timestamp on *BSD/MacOS after installing coreutils
|
||||
#DATEFORMAT='gdate +%s.%N'
|
||||
#
|
||||
# Readable GMT
|
||||
#DATEFORMAT='date -u +%FT%H-%M-%S%z'
|
||||
#
|
||||
# Readable Local time
|
||||
DATEFORMAT='date +%FT%H-%M-%S%z'
|
||||
Reference in New Issue
Block a user