diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2012-12-17 11:57:56 +0100 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2012-12-17 11:57:56 +0100 |
commit | 0b4aa1eba90f7070daff2865e8f09cfdf4c890bb (patch) | |
tree | a6ed33be868ae6fb8d14aa5b390624a571aadc2e | |
parent | 16be13fd98953c883b39c09b2709a2f09dabe9b1 (diff) | |
download | gdb-bt-reformat-0b4aa1eba90f7070daff2865e8f09cfdf4c890bb.tar.gz gdb-bt-reformat-0b4aa1eba90f7070daff2865e8f09cfdf4c890bb.tar.xz gdb-bt-reformat-0b4aa1eba90f7070daff2865e8f09cfdf4c890bb.zip |
Handle strings as (resolved) function arguments correctly
Test case line:
(this=0x7fffffffe280, nodename="", clustername="", msg="") \
at Monitor.cpp:199
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
-rwxr-xr-x | gdb-bt-reformat | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gdb-bt-reformat b/gdb-bt-reformat index fbad6fa..30005eb 100755 --- a/gdb-bt-reformat +++ b/gdb-bt-reformat @@ -11,12 +11,13 @@ DEF_IDENT = '[A-Za-z_][A-Za-z0-9_]*' DEF_UNKNOWN = '[?]{2}' DEF_HEX = '0x[0-9A-Za-z]+' DEF_MSG = '[<][ A-Za-z0-9_]+[>]' +DEF_STR = '["][ 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)(?:, )?)*[)])'\ +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)(?:, )?)*[)])' '(?(unknown)| at (?P<path>%(DEF_PATH)s):(?P<line>[1-9][0-9]*))' % locals()) @@ -32,6 +33,7 @@ class BtLine(object): self._found = RE_BT.search(self._line) if self._found: for k, v in self._found.groupdict().iteritems(): + #print "\t{0}: {1}".format(k, v) setattr(self, k, v) else: raise BtLineError |