mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2025-12-27 17:55:29 +01:00
Keeping track of modules without symbols during crash report processing.
http://breakpad.appspot.com/534002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1126 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
718ae3284e
commit
60b5f7c7e9
10 changed files with 230 additions and 49 deletions
|
|
@ -43,6 +43,7 @@
|
|||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "common/using_std_string.h"
|
||||
#include "google_breakpad/common/breakpad_types.h"
|
||||
|
|
@ -57,6 +58,7 @@ class MinidumpContext;
|
|||
class StackFrameSymbolizer;
|
||||
|
||||
using std::set;
|
||||
using std::vector;
|
||||
|
||||
class Stackwalker {
|
||||
public:
|
||||
|
|
@ -66,7 +68,15 @@ class Stackwalker {
|
|||
// GetCallerFrame. The frames are further processed to fill all available
|
||||
// data. Returns true if the stackwalk completed, or false if it was
|
||||
// interrupted by SymbolSupplier::GetSymbolFile().
|
||||
bool Walk(CallStack* stack);
|
||||
// Upon return, modules_without_symbols will be populated with pointers to
|
||||
// the code modules (CodeModule*) that DON'T have symbols.
|
||||
// modules_without_symbols DOES NOT take ownership of the code modules.
|
||||
// The lifetime of these code modules is the same as the lifetime of the
|
||||
// CodeModules passed to the StackWalker constructor (which currently
|
||||
// happens to be the lifetime of the Breakpad's ProcessingState object).
|
||||
// There is a check for duplicate modules so no duplicates are expected.
|
||||
bool Walk(CallStack* stack,
|
||||
vector<const CodeModule*>* modules_without_symbols);
|
||||
|
||||
// Returns a new concrete subclass suitable for the CPU that a stack was
|
||||
// generated on, according to the CPU type indicated by the context
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue