class PrettyStackManager

Defined at line 31 of file ../../src/developer/debug/zxdb/client/pretty_stack_manager.h

Matches sequences of frames for pretty-ifying stacks. The patterns are expressed in

PrettyFrameGlobs which match different parts of the stack frame or a wildcard range. The matched

frames can then be collapsed and named with a descriptive string.

Wildcard matching matches as few stack entries as possible (unlike many regular expression

systems). Recursion can make the same sequence of frames appear multiple times in a stack, and

we always want to hide as few frames as possible.

Wildcard matching does not do backtracking. This means that the first frame after a wildcard

picks up matching the stack again. If the sequence of matchers after this doesn't match, the

code won't go search for a possibly different interpretation of the wildcard that does match.

This behavior is unnecessary given typical stack matching requirements and affects complexity and

performance.

Public Methods

void SetMatchers (std::vector<StackGlob> matchers)

Defined at line 14 of file ../../src/developer/debug/zxdb/client/pretty_stack_manager.cc

void LoadDefaultMatchers ()

Loads the hardcoded default matchers.

TODO(bug 43549) this should be loaded from a configuration file somehow associated with the

user's build instead of being hardcoded. This function can then be deleted.

Defined at line 25 of file ../../src/developer/debug/zxdb/client/pretty_stack_manager.cc

Match GetMatchAt (const Stack & stack, size_t frame_index)

Returns the best match at the given index. The result will match no frames if there was no

match at the given index.

Defined at line 223 of file ../../src/developer/debug/zxdb/client/pretty_stack_manager.cc

std::vector<FrameEntry> ProcessStack (const Stack & stack)

Processes an entire stack, returning the grouped results.

Defined at line 233 of file ../../src/developer/debug/zxdb/client/pretty_stack_manager.cc

Records

Friends

class PrettyStackManager_StackGlobMatchesAt_Test
class MakeRefCountedHelper
class RefCountedThreadSafe