| Index: snapshot/win/pe_image_reader.h
|
| diff --git a/snapshot/win/pe_image_reader.h b/snapshot/win/pe_image_reader.h
|
| index 71b4863e8ffdaa0777091bdb87590e3f078d7ffd..2273a8e6ac8bdbf0fed8d28440abb4a6dd2c5b79 100644
|
| --- a/snapshot/win/pe_image_reader.h
|
| +++ b/snapshot/win/pe_image_reader.h
|
| @@ -21,6 +21,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "util/misc/initialization_state_dcheck.h"
|
| +#include "util/misc/uuid.h"
|
| #include "util/win/address_types.h"
|
| #include "util/win/checked_win_address_range.h"
|
|
|
| @@ -93,7 +94,21 @@ class PEImageReader {
|
| //! messages. Other failures will result in messages being logged.
|
| bool GetCrashpadInfo(process_types::CrashpadInfo* crashpad_info) const;
|
|
|
| + //! \brief Obtains information from the module's debug directory, if any.
|
| + //!
|
| + //! \param[out] uuid The unique identifier of the executable/PDB.
|
| + //! \param[out] age The age field for the pdb (the number of times it's been
|
| + //! relinked).
|
| + //! \param[out] pdbname Name of the pdb file.
|
| + //! \return `true` on success, or `false` if the module has no debug directory
|
| + //! entry.
|
| + bool DebugDirectoryInformation(UUID* uuid, DWORD* age, std::string* pdbname);
|
| +
|
| private:
|
| + //! \brief Reads the `IMAGE_NT_HEADERS` from the beginning of the image.
|
| + bool ReadNtHeaders(WinVMAddress* nt_header_address,
|
| + IMAGE_NT_HEADERS* nt_headers) const;
|
| +
|
| //! \brief Finds a given section by name in the image.
|
| bool GetSectionByName(const std::string& name,
|
| IMAGE_SECTION_HEADER* section) const;
|
|
|