mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2025-12-30 11:14:50 +01:00
Revert "Fix incorrect source file name for inlined frames"
This reverts commit54d878abcb.54d878abcbchanged the dump_syms format incompatibly. This must be redone in a multi-step process: the processor must be made to understand the old and new formats simultaneously and the processor service must be rebuilt and run with that update before dump_syms output can change to use the new format. Bug: chromium:1263390 Change-Id: I5b6f8aff8ea2916b2c07ac6a74b569fa27db51b9 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3244775 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
parent
076073c96b
commit
dfcb7b6799
18 changed files with 214 additions and 223 deletions
|
|
@ -98,28 +98,28 @@ class SymbolParseHelper {
|
|||
char** filename); // out
|
||||
|
||||
// Parses a |inline_origin_line| declaration. Returns true on success.
|
||||
// Format: INLINE_ORIGIN <origin_id> <name>.
|
||||
// Format: INLINE_ORIGIN <origin_id> <file_id> <name>.
|
||||
// Notice, that this method modifies the input |inline_origin_line| which is
|
||||
// why it can't be const. On success, <origin_id> and <name> are
|
||||
// stored in |*origin_id| and |*name|. No allocation is
|
||||
// why it can't be const. On success, <origin_id>, <file_id> and <name> are
|
||||
// stored in |*origin_id|, |*file_id|, and |*name|. No allocation is
|
||||
// done, |*name| simply points inside |inline_origin_line|.
|
||||
static bool ParseInlineOrigin(char* inline_origin_line, // in
|
||||
long* origin_id, // out
|
||||
long* file_id, // out
|
||||
char** name); // out
|
||||
|
||||
// Parses a |inline| declaration. Returns true on success.
|
||||
// Format: INLINE <inline_nest_level> <call_site_line> <call_site_file_id>
|
||||
// <origin_id> [<address> <size>]+
|
||||
// Notice, that this method modifies the input
|
||||
// |inline| which is why it can't be const. On success, <inline_nest_level>,
|
||||
// <call_site_line>, <call_site_file_id> and <origin_id> are stored in
|
||||
// |*inline_nest_level|, |*call_site_line|, |*call_site_file_id| and
|
||||
// |*origin_id|, and all pairs of (<address>, <size>) are added into ranges.
|
||||
// Format: INLINE <inline_nest_level> <call_site_line> <origin_id> <address>
|
||||
// <size> ....
|
||||
// Notice, that this method modifies the input |inline|
|
||||
// which is why it can't be const. On success, <inline_nest_level>,
|
||||
// <call_site_line> and <origin_id> are stored in |*inline_nest_level|,
|
||||
// |*call_site_line|, and |*origin_id|, and all pairs of (<address>, <size>)
|
||||
// are added into ranges .
|
||||
static bool ParseInline(
|
||||
char* inline_line, // in
|
||||
long* inline_nest_level, // out
|
||||
long* call_site_line, // out
|
||||
long* call_site_file_id, // out
|
||||
long* origin_id, // out
|
||||
std::vector<std::pair<MemAddr, MemAddr>>* ranges); // out
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@
|
|||
#ifndef GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_BASE_H__
|
||||
#define GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_BASE_H__
|
||||
|
||||
#include <deque>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
|
@ -87,7 +86,7 @@ class SourceLineResolverBase : public SourceLineResolverInterface {
|
|||
virtual bool IsModuleCorrupt(const CodeModule* module);
|
||||
virtual void FillSourceLineInfo(
|
||||
StackFrame* frame,
|
||||
std::deque<std::unique_ptr<StackFrame>>* inlined_frames);
|
||||
std::vector<std::unique_ptr<StackFrame>>* inlined_frames);
|
||||
virtual WindowsFrameInfo* FindWindowsFrameInfo(const StackFrame* frame);
|
||||
virtual CFIFrameInfo* FindCFIFrameInfo(const StackFrame* frame);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
#ifndef GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__
|
||||
#define GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__
|
||||
|
||||
#include <deque>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
|
@ -99,7 +98,7 @@ class SourceLineResolverInterface {
|
|||
// inlined_frames in an order from outermost frame to inner most frame.
|
||||
virtual void FillSourceLineInfo(
|
||||
StackFrame* frame,
|
||||
std::deque<std::unique_ptr<StackFrame>>* inlined_frames) = 0;
|
||||
std::vector<std::unique_ptr<StackFrame>>* inlined_frames) = 0;
|
||||
|
||||
// If Windows stack walking information is available covering
|
||||
// FRAME's instruction address, return a WindowsFrameInfo structure
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_SYMBOLIZER_H__
|
||||
#define GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_SYMBOLIZER_H__
|
||||
|
||||
#include <deque>
|
||||
#include <memory>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
|
@ -83,7 +82,7 @@ class StackFrameSymbolizer {
|
|||
const CodeModules* unloaded_modules,
|
||||
const SystemInfo* system_info,
|
||||
StackFrame* stack_frame,
|
||||
std::deque<std::unique_ptr<StackFrame>>* inlined_frames);
|
||||
std::vector<std::unique_ptr<StackFrame>>* inlined_frames);
|
||||
|
||||
virtual WindowsFrameInfo* FindWindowsFrameInfo(const StackFrame* frame);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue