diff options
-rwxr-xr-x | gdb-bt-reformat | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb-bt-reformat b/gdb-bt-reformat index 30005eb..6bb31cb 100755 --- a/gdb-bt-reformat +++ b/gdb-bt-reformat @@ -9,15 +9,16 @@ import textwrap DEF_IDENT = '[A-Za-z_][A-Za-z0-9_]*' DEF_UNKNOWN = '[?]{2}' -DEF_HEX = '0x[0-9A-Za-z]+' +DEF_HEX = '0x[0-9A-Fa-f]+' +DEF_NUM = '[+-]?(?:[0-9]+(?:[.][0-9]*)?|[.][0-9]+)(?:[eE][0-9]+)?' DEF_MSG = '[<][ A-Za-z0-9_]+[>]' DEF_STR = '["][ A-Za-z0-9_]*["]' -DEF_PATH = '[A-Za-z0-9._/]+' +DEF_PATH = '[A-Za-z0-9._/-]+' RE_BT = re.compile( '(?P<init>^\#[0-9]+\s+)' '(?:(?P<hex>%(DEF_HEX)s) in )?' '(?P<where>%(DEF_IDENT)s(?:(?: |::)%(DEF_IDENT)s)*|(?P<unknown>%(DEF_UNKNOWN)s))' - ' (?P<args>[(](?:(?<=[( ])%(DEF_IDENT)s=(?:%(DEF_IDENT)s|%(DEF_MSG)s|%(DEF_HEX)s|%(DEF_STR)s)(?:, )?)*[)])' + ' (?P<args>[(](?:(?<=[( ])%(DEF_IDENT)s=(?:%(DEF_IDENT)s|%(DEF_MSG)s|%(DEF_HEX)s|%(DEF_NUM)s|%(DEF_STR)s)(?:, )?)*[)])' '(?(unknown)| at (?P<path>%(DEF_PATH)s):(?P<line>[1-9][0-9]*))' % locals()) |