aboutsummaryrefslogtreecommitdiff
path: root/src/processor/source_line_resolver.h
diff options
context:
space:
mode:
authormmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-09-28 21:09:37 +0000
committermmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-09-28 21:09:37 +0000
commitfc1c78e60e9b305386f4c3fc811463f3b24cf6d4 (patch)
tree1e6eb65851d509851267d003f0bf5bd478ed9dbe /src/processor/source_line_resolver.h
parentAdd static-CRT build configurations. Get rid of the largely redundant README, (diff)
downloadbreakpad-fc1c78e60e9b305386f4c3fc811463f3b24cf6d4.tar.xz
Handle frame pointer omission (#21), part 3: SourceLineResolver and PDBSourceLineWriter changes. r=bryner.
- PDBSourceLineWriter (dump_syms) outputs stack frame debugging information - SourceLineResolver reads the new information and puts it into a new StackFrameInfo structure, which is stored in a ContainedRangeMap. FillSourceLineInfo passes the StackFrameInfo back to the caller. - The base Stackwalker makes StackFrameInfo data available to subclasses during stackwalking, but does not use this information directly itself. Stackwalkers may access stack_frame_info_ for enhanced stackwalking (this will be part 4). - New test data for the updated dumped-symbol format http://groups.google.com/group/airbag-dev/browse_thread/thread/735f191c9a1a1de4 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@38 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/source_line_resolver.h')
-rw-r--r--src/processor/source_line_resolver.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/processor/source_line_resolver.h b/src/processor/source_line_resolver.h
index 0830b7f0..6948a86a 100644
--- a/src/processor/source_line_resolver.h
+++ b/src/processor/source_line_resolver.h
@@ -42,7 +42,8 @@ namespace google_airbag {
using std::string;
using __gnu_cxx::hash_map;
-class StackFrame;
+struct StackFrame;
+struct StackFrameInfo;
class SourceLineResolver {
public:
@@ -61,8 +62,9 @@ class SourceLineResolver {
// Fills in the function_base, function_name, source_file_name,
// and source_line fields of the StackFrame. The instruction and
- // module_name fields must already be filled in.
- void FillSourceLineInfo(StackFrame *frame) const;
+ // module_name fields must already be filled in. Additional debugging
+ // information, if available, is placed in frame_info.
+ void FillSourceLineInfo(StackFrame *frame, StackFrameInfo *frame_info) const;
private:
template<class T> class MemAddrMap;