All other links to code.google.com and googlecode.com are fixed to point
to their proper new homes as well.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/1414243005 .
This commit is contained in:
Mark Mentovai 2015-10-29 18:31:20 -04:00
Родитель 06ad194571
Коммит cd0e25f1ba
26 изменённых файлов: 101 добавлений и 83 удалений

Просмотреть файл

@ -94,6 +94,15 @@ bool CreateOrEnsureDirectoryExists(const base::FilePath& path) {
return EnsureDirectoryExists(path); return EnsureDirectoryExists(path);
} }
// Creates a long database xattr name from the short constant name. These names
// have changed, and new_name determines whether the returned xattr name will be
// the old name or its new equivalent.
std::string XattrNameInternal(const base::StringPiece& name, bool new_name) {
return base::StringPrintf(new_name ? "org.chromium.crashpad.database.%s"
: "com.googlecode.crashpad.%s",
name.data());
}
//! \brief A CrashReportDatabase that uses HFS+ extended attributes to store //! \brief A CrashReportDatabase that uses HFS+ extended attributes to store
//! report metadata. //! report metadata.
//! //!
@ -173,8 +182,7 @@ class CrashReportDatabaseMac : public CrashReportDatabase {
//! //!
//! \return `true` if all the metadata was read successfully, `false` //! \return `true` if all the metadata was read successfully, `false`
//! otherwise. //! otherwise.
static bool ReadReportMetadataLocked(const base::FilePath& path, bool ReadReportMetadataLocked(const base::FilePath& path, Report* report);
Report* report);
//! \brief Reads the metadata from all the reports in a database subdirectory. //! \brief Reads the metadata from all the reports in a database subdirectory.
//! Invalid reports are skipped. //! Invalid reports are skipped.
@ -183,7 +191,7 @@ class CrashReportDatabaseMac : public CrashReportDatabase {
//! \param[out] reports An empty vector of reports, which will be filled. //! \param[out] reports An empty vector of reports, which will be filled.
//! //!
//! \return The operation status code. //! \return The operation status code.
static OperationStatus ReportsInDirectory(const base::FilePath& path, OperationStatus ReportsInDirectory(const base::FilePath& path,
std::vector<Report>* reports); std::vector<Report>* reports);
//! \brief Creates a database xattr name from the short constant name. //! \brief Creates a database xattr name from the short constant name.
@ -191,10 +199,11 @@ class CrashReportDatabaseMac : public CrashReportDatabase {
//! \param[in] name The short name of the extended attribute. //! \param[in] name The short name of the extended attribute.
//! //!
//! \return The long name of the extended attribute. //! \return The long name of the extended attribute.
static std::string XattrName(const base::StringPiece& name); std::string XattrName(const base::StringPiece& name);
base::FilePath base_dir_; base::FilePath base_dir_;
Settings settings_; Settings settings_;
bool xattr_new_names_;
InitializationStateDcheck initialized_; InitializationStateDcheck initialized_;
DISALLOW_COPY_AND_ASSIGN(CrashReportDatabaseMac); DISALLOW_COPY_AND_ASSIGN(CrashReportDatabaseMac);
@ -204,6 +213,7 @@ CrashReportDatabaseMac::CrashReportDatabaseMac(const base::FilePath& path)
: CrashReportDatabase(), : CrashReportDatabase(),
base_dir_(path), base_dir_(path),
settings_(base_dir_.Append(kSettings)), settings_(base_dir_.Append(kSettings)),
xattr_new_names_(false),
initialized_() { initialized_() {
} }
@ -230,10 +240,25 @@ bool CrashReportDatabaseMac::Initialize(bool may_create) {
if (!settings_.Initialize()) if (!settings_.Initialize())
return false; return false;
// Write an xattr as the last step, to ensure the filesystem has support for // Do an xattr operation as the last step, to ensure the filesystem has
// them. This attribute will never be read. // support for them. This xattr also serves as a marker for whether the
// database uses old or new xattr names.
bool value;
if (ReadXattrBool(base_dir_,
XattrNameInternal(kXattrDatabaseInitialized, true),
&value) == XattrStatus::kOK &&
value) {
xattr_new_names_ = true;
} else if (ReadXattrBool(base_dir_,
XattrNameInternal(kXattrDatabaseInitialized, false),
&value) == XattrStatus::kOK &&
value) {
xattr_new_names_ = false;
} else {
xattr_new_names_ = true;
if (!WriteXattrBool(base_dir_, XattrName(kXattrDatabaseInitialized), true)) if (!WriteXattrBool(base_dir_, XattrName(kXattrDatabaseInitialized), true))
return false; return false;
}
INITIALIZATION_STATE_SET_VALID(initialized_); INITIALIZATION_STATE_SET_VALID(initialized_);
return true; return true;
@ -540,7 +565,6 @@ base::ScopedFD CrashReportDatabaseMac::ObtainReportLock(
return base::ScopedFD(fd); return base::ScopedFD(fd);
} }
// static
bool CrashReportDatabaseMac::ReadReportMetadataLocked( bool CrashReportDatabaseMac::ReadReportMetadataLocked(
const base::FilePath& path, Report* report) { const base::FilePath& path, Report* report) {
std::string uuid_string; std::string uuid_string;
@ -583,7 +607,6 @@ bool CrashReportDatabaseMac::ReadReportMetadataLocked(
return true; return true;
} }
// static
CrashReportDatabase::OperationStatus CrashReportDatabaseMac::ReportsInDirectory( CrashReportDatabase::OperationStatus CrashReportDatabaseMac::ReportsInDirectory(
const base::FilePath& path, const base::FilePath& path,
std::vector<CrashReportDatabase::Report>* reports) { std::vector<CrashReportDatabase::Report>* reports) {
@ -620,9 +643,8 @@ CrashReportDatabase::OperationStatus CrashReportDatabaseMac::ReportsInDirectory(
return kNoError; return kNoError;
} }
// static
std::string CrashReportDatabaseMac::XattrName(const base::StringPiece& name) { std::string CrashReportDatabaseMac::XattrName(const base::StringPiece& name) {
return base::StringPrintf("com.googlecode.crashpad.%s", name.data()); return XattrNameInternal(name, xattr_new_names_);
} }
scoped_ptr<CrashReportDatabase> InitializeInternal(const base::FilePath& path, scoped_ptr<CrashReportDatabase> InitializeInternal(const base::FilePath& path,

Просмотреть файл

@ -59,10 +59,9 @@ void PruneCrashReportDatabase(CrashReportDatabase* database,
} }
} }
// TODO(rsesek): For databases that do not use a directory structure, // TODO(rsesek): For databases that do not use a directory structure, it is
// it is possible for the metadata sidecar to become corrupted and thus // possible for the metadata sidecar to become corrupted and thus leave
// leave orphaned crash report files on-disk. // orphaned crash report files on-disk. https://crashpad.chromium.org/bug/66
// https://code.google.com/p/crashpad/issues/detail?id=66
} }
// static // static

Просмотреть файл

@ -1,4 +1,4 @@
This is the App Engine app that serves https://crashpad-home.appspot.com/. This is the App Engine app that serves https://crashpad.chromium.org/.
To work on this app, obtain the App Engine SDK for Go from To work on this app, obtain the App Engine SDK for Go from
https://cloud.google.com/appengine/downloads. Unpacking it produces a https://cloud.google.com/appengine/downloads. Unpacking it produces a

Просмотреть файл

@ -83,7 +83,7 @@ $ *gclient sync*
== Building == Building
Crashpad uses https://gyp.googlecode.com/[GYP] to generate Crashpad uses https://gyp.gsrc.io/[GYP] to generate
https://martine.github.io/ninja/[Ninja] build files. The build is described by https://martine.github.io/ninja/[Ninja] build files. The build is described by
`.gyp` files throughout the Crashpad source code tree. The `.gyp` files throughout the Crashpad source code tree. The
`build/gyp_crashpad.py` script runs GYP properly for Crashpad, and is also `build/gyp_crashpad.py` script runs GYP properly for Crashpad, and is also
@ -106,12 +106,13 @@ need to install it separately.
== Testing == Testing
Crashpad uses https://googletest.googlecode.com/[Google Test] as its Crashpad uses https://github.com/google/googletest/[Google Test] as its
unit-testing framework, and some tests use unit-testing framework, and some tests use
https://googlemock.googlecode.com/[Google Mock] as well. Its tests are currently https://github.com/google/googletest/tree/master/googlemock/[Google Mock] as
split up into several test executables, each dedicated to testing a different well. Its tests are currently split up into several test executables, each
component. This may change in the future. After a successful build, the test dedicated to testing a different component. This may change in the future. After
executables will be found at `out/Debug/crashpad_*_test`. a successful build, the test executables will be found at
`out/Debug/crashpad_*_test`.
[subs="verbatim,quotes"] [subs="verbatim,quotes"]
---- ----

Просмотреть файл

@ -16,16 +16,16 @@
= Crashpad = Crashpad
https://crashpad-home.appspot.com/[Crashpad] is a crash-reporting system. https://crashpad.chromium.org/[Crashpad] is a crash-reporting system.
== Documentation == Documentation
* link:status.html[Project status] * link:status.html[Project status]
* link:developing.html[Developing Crashpad]: instructions for getting the * link:developing.html[Developing Crashpad]: instructions for getting the
source code, building, testing, and contributing to the project. source code, building, testing, and contributing to the project.
* https://crashpad-home.appspot.com/doxygen/index.html[Crashpad interface * https://crashpad.chromium.org/doxygen/index.html[Crashpad interface
documentation] documentation]
* https://crashpad-home.appspot.com/man/index.html[Crashpad tool man pages] * https://crashpad.chromium.org/man/index.html[Crashpad tool man pages]
== Source Code == Source Code
@ -34,8 +34,8 @@ https://chromium.googlesource.com/crashpad/crashpad.
== Other Links == Other Links
* Bugs can be reported at the * Bugs can be reported at the https://crashpad.chromium.org/bug/new[Crashpad
https://code.google.com/p/crashpad/issues/entry[Crashpad issue tracker]. issue tracker].
* The https://build.chromium.org/p/client.crashpad[Crashpad Buildbot] performs * The https://build.chromium.org/p/client.crashpad[Crashpad Buildbot] performs
automated builds and tests. automated builds and tests.
* https://groups.google.com/a/chromium.org/group/crashpad-dev[crashpad-dev] is * https://groups.google.com/a/chromium.org/group/crashpad-dev[crashpad-dev] is

Просмотреть файл

@ -28,18 +28,17 @@ https://chromium.googlesource.com/chromium/src/+/d413b2dcb54d523811d386f1ff4084f
== In Progress == In Progress
Crashpad is actively being bootstrapped on Crashpad is actively being bootstrapped on
https://code.google.com/p/crashpad/issues/detail?id=1[Windows]. All major https://crashpad.chromium.org/bug/1[Windows]. All major components are now
components are now working on Windows, and integration into Chromium is expected working on Windows, and integration into Chromium is expected shortly.
shortly.
Initial work on a Crashpad client for Initial work on a Crashpad client for
https://code.google.com/p/crashpad/issues/detail?id=30[Android] has begun. This https://crashpad.chromium.org/bug/30[Android] has begun. This is currently in
is currently in the design phase. the design phase.
== Future == Future
There are plans to bring Crashpad clients to other operating systems in the There are plans to bring Crashpad clients to other operating systems in the
future, including a more generic non-Android Linux implementation. There are future, including a more generic non-Android Linux implementation. There are
also plans to implement a also plans to implement a https://crashpad.chromium.org/bug/29[crash report
https://code.google.com/p/crashpad/issues/detail?id=29[crash report processor] processor] as part of Crashpad. No timeline for completing this work has been
as part of Crashpad. No timeline for completing this work has been set yet. set yet.

Просмотреть файл

@ -43,7 +43,7 @@ done
# Move doc/index.html to index.html, adjusting relative paths to other files in # Move doc/index.html to index.html, adjusting relative paths to other files in
# doc. # doc.
base_url=https://crashpad-home.appspot.com/ base_url=https://crashpad.chromium.org/
${sed_ext} -e 's%<a href="([^/]+)\.html">%<a href="doc/\1.html">%g' \ ${sed_ext} -e 's%<a href="([^/]+)\.html">%<a href="doc/\1.html">%g' \
-e 's%<a href="'"${base_url}"'">%<a href="index.html">%g' \ -e 's%<a href="'"${base_url}"'">%<a href="index.html">%g' \
-e 's%<a href="'"${base_url}"'%<a href="%g' \ -e 's%<a href="'"${base_url}"'%<a href="%g' \

Просмотреть файл

@ -14,9 +14,9 @@
== Resources == Resources
Crashpad home page: https://crashpad-home.appspot.com/. Crashpad home page: https://crashpad.chromium.org/.
Report bugs at https://code.google.com/p/crashpad/issues/entry. Report bugs at https://crashpad.chromium.org/bug/new.
== Copyright == Copyright

Просмотреть файл

@ -15,7 +15,7 @@
#ifndef CRASHPAD_PACKAGE_H_ #ifndef CRASHPAD_PACKAGE_H_
#define CRASHPAD_PACKAGE_H_ #define CRASHPAD_PACKAGE_H_
#define PACKAGE_BUGREPORT "https://code.google.com/p/crashpad/issues/entry" #define PACKAGE_BUGREPORT "https://crashpad.chromium.org/bug/new"
#define PACKAGE_COPYRIGHT \ #define PACKAGE_COPYRIGHT \
"Copyright " PACKAGE_COPYRIGHT_YEAR " " PACKAGE_COPYRIGHT_OWNER "Copyright " PACKAGE_COPYRIGHT_YEAR " " PACKAGE_COPYRIGHT_OWNER
#define PACKAGE_COPYRIGHT_OWNER "The Crashpad Authors" #define PACKAGE_COPYRIGHT_OWNER "The Crashpad Authors"
@ -24,6 +24,6 @@
#define PACKAGE_STRING PACKAGE_NAME " " PACKAGE_VERSION #define PACKAGE_STRING PACKAGE_NAME " " PACKAGE_VERSION
#define PACKAGE_TARNAME "crashpad" #define PACKAGE_TARNAME "crashpad"
#define PACKAGE_VERSION "0.7.0" #define PACKAGE_VERSION "0.7.0"
#define PACKAGE_URL "https://crashpad-home.appspot.com/" #define PACKAGE_URL "https://crashpad.chromium.org/"
#endif // CRASHPAD_PACKAGE_H_ #endif // CRASHPAD_PACKAGE_H_

Просмотреть файл

@ -58,25 +58,25 @@ bool ModuleSnapshotMinidump::Initialize(
std::string ModuleSnapshotMinidump::Name() const { std::string ModuleSnapshotMinidump::Name() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return std::string(); return std::string();
} }
uint64_t ModuleSnapshotMinidump::Address() const { uint64_t ModuleSnapshotMinidump::Address() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return 0; return 0;
} }
uint64_t ModuleSnapshotMinidump::Size() const { uint64_t ModuleSnapshotMinidump::Size() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return 0; return 0;
} }
time_t ModuleSnapshotMinidump::Timestamp() const { time_t ModuleSnapshotMinidump::Timestamp() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return 0; return 0;
} }
@ -85,7 +85,7 @@ void ModuleSnapshotMinidump::FileVersion(uint16_t* version_0,
uint16_t* version_2, uint16_t* version_2,
uint16_t* version_3) const { uint16_t* version_3) const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
*version_0 = 0; *version_0 = 0;
*version_1 = 0; *version_1 = 0;
*version_2 = 0; *version_2 = 0;
@ -97,7 +97,7 @@ void ModuleSnapshotMinidump::SourceVersion(uint16_t* version_0,
uint16_t* version_2, uint16_t* version_2,
uint16_t* version_3) const { uint16_t* version_3) const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
*version_0 = 0; *version_0 = 0;
*version_1 = 0; *version_1 = 0;
*version_2 = 0; *version_2 = 0;
@ -106,21 +106,21 @@ void ModuleSnapshotMinidump::SourceVersion(uint16_t* version_0,
ModuleSnapshot::ModuleType ModuleSnapshotMinidump::GetModuleType() const { ModuleSnapshot::ModuleType ModuleSnapshotMinidump::GetModuleType() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return kModuleTypeUnknown; return kModuleTypeUnknown;
} }
void ModuleSnapshotMinidump::UUIDAndAge(crashpad::UUID* uuid, void ModuleSnapshotMinidump::UUIDAndAge(crashpad::UUID* uuid,
uint32_t* age) const { uint32_t* age) const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
*uuid = crashpad::UUID(); *uuid = crashpad::UUID();
*age = 0; *age = 0;
} }
std::string ModuleSnapshotMinidump::DebugFileName() const { std::string ModuleSnapshotMinidump::DebugFileName() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return std::string(); return std::string();
} }

Просмотреть файл

@ -94,26 +94,26 @@ bool ProcessSnapshotMinidump::Initialize(FileReaderInterface* file_reader) {
pid_t ProcessSnapshotMinidump::ProcessID() const { pid_t ProcessSnapshotMinidump::ProcessID() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return 0; return 0;
} }
pid_t ProcessSnapshotMinidump::ParentProcessID() const { pid_t ProcessSnapshotMinidump::ParentProcessID() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return 0; return 0;
} }
void ProcessSnapshotMinidump::SnapshotTime(timeval* snapshot_time) const { void ProcessSnapshotMinidump::SnapshotTime(timeval* snapshot_time) const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
snapshot_time->tv_sec = 0; snapshot_time->tv_sec = 0;
snapshot_time->tv_usec = 0; snapshot_time->tv_usec = 0;
} }
void ProcessSnapshotMinidump::ProcessStartTime(timeval* start_time) const { void ProcessSnapshotMinidump::ProcessStartTime(timeval* start_time) const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
start_time->tv_sec = 0; start_time->tv_sec = 0;
start_time->tv_usec = 0; start_time->tv_usec = 0;
} }
@ -121,7 +121,7 @@ void ProcessSnapshotMinidump::ProcessStartTime(timeval* start_time) const {
void ProcessSnapshotMinidump::ProcessCPUTimes(timeval* user_time, void ProcessSnapshotMinidump::ProcessCPUTimes(timeval* user_time,
timeval* system_time) const { timeval* system_time) const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
user_time->tv_sec = 0; user_time->tv_sec = 0;
user_time->tv_usec = 0; user_time->tv_usec = 0;
system_time->tv_sec = 0; system_time->tv_sec = 0;
@ -145,20 +145,20 @@ ProcessSnapshotMinidump::AnnotationsSimpleMap() const {
// annotations_simple_map_ to be lazily constructed: InitializeCrashpadInfo() // annotations_simple_map_ to be lazily constructed: InitializeCrashpadInfo()
// could be called here, and from other locations that require it, rather than // could be called here, and from other locations that require it, rather than
// calling it from Initialize(). // calling it from Initialize().
// https://code.google.com/p/crashpad/issues/detail?id=9 // https://crashpad.chromium.org/bug/9
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
return annotations_simple_map_; return annotations_simple_map_;
} }
const SystemSnapshot* ProcessSnapshotMinidump::System() const { const SystemSnapshot* ProcessSnapshotMinidump::System() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return nullptr; return nullptr;
} }
std::vector<const ThreadSnapshot*> ProcessSnapshotMinidump::Threads() const { std::vector<const ThreadSnapshot*> ProcessSnapshotMinidump::Threads() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return std::vector<const ThreadSnapshot*>(); return std::vector<const ThreadSnapshot*>();
} }
@ -173,27 +173,27 @@ std::vector<const ModuleSnapshot*> ProcessSnapshotMinidump::Modules() const {
const ExceptionSnapshot* ProcessSnapshotMinidump::Exception() const { const ExceptionSnapshot* ProcessSnapshotMinidump::Exception() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return nullptr; return nullptr;
} }
std::vector<const MemoryMapRegionSnapshot*> ProcessSnapshotMinidump::MemoryMap() std::vector<const MemoryMapRegionSnapshot*> ProcessSnapshotMinidump::MemoryMap()
const { const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return std::vector<const MemoryMapRegionSnapshot*>(); return std::vector<const MemoryMapRegionSnapshot*>();
} }
std::vector<HandleSnapshot> ProcessSnapshotMinidump::Handles() const { std::vector<HandleSnapshot> ProcessSnapshotMinidump::Handles() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return std::vector<HandleSnapshot>(); return std::vector<HandleSnapshot>();
} }
std::vector<const MemorySnapshot*> ProcessSnapshotMinidump::ExtraMemory() std::vector<const MemorySnapshot*> ProcessSnapshotMinidump::ExtraMemory()
const { const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
NOTREACHED(); // https://code.google.com/p/crashpad/issues/detail?id=10 NOTREACHED(); // https://crashpad.chromium.org/bug/10
return std::vector<const MemorySnapshot*>(); return std::vector<const MemorySnapshot*>();
} }

Просмотреть файл

@ -153,7 +153,7 @@ bool ExceptionSnapshotWin::InitializeFromExceptionPointers(
for (DWORD i = 0; i < first_record.NumberParameters; ++i) for (DWORD i = 0; i < first_record.NumberParameters; ++i)
codes_.push_back(first_record.ExceptionInformation[i]); codes_.push_back(first_record.ExceptionInformation[i]);
if (first_record.ExceptionRecord) { if (first_record.ExceptionRecord) {
// https://code.google.com/p/crashpad/issues/detail?id=43 // https://crashpad.chromium.org/bug/43
LOG(WARNING) << "dropping chained ExceptionRecord"; LOG(WARNING) << "dropping chained ExceptionRecord";
} }

Просмотреть файл

@ -161,7 +161,7 @@ std::vector<std::string> ModuleSnapshotWin::AnnotationsVector() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
// These correspond to system-logged things on Mac. We don't currently track // These correspond to system-logged things on Mac. We don't currently track
// any of these on Windows, but could in the future. // any of these on Windows, but could in the future.
// See https://code.google.com/p/crashpad/issues/detail?id=38. // See https://crashpad.chromium.org/bug/38.
return std::vector<std::string>(); return std::vector<std::string>();
} }

Просмотреть файл

@ -191,7 +191,7 @@ bool PEImageReader::ReadDebugDirectoryInformation(UUID* uuid,
if (*reinterpret_cast<DWORD*>(data.get()) != if (*reinterpret_cast<DWORD*>(data.get()) !=
CodeViewRecordPDB70::kSignature) { CodeViewRecordPDB70::kSignature) {
// TODO(scottmg): Consider supporting other record types, see // TODO(scottmg): Consider supporting other record types, see
// https://code.google.com/p/crashpad/issues/detail?id=47. // https://crashpad.chromium.org/bug/47.
LOG(WARNING) << "encountered non-7.0 CodeView debug record"; LOG(WARNING) << "encountered non-7.0 CodeView debug record";
continue; continue;
} }

Просмотреть файл

@ -353,7 +353,7 @@ void ProcessSnapshotWin::AddMemorySnapshot(
// useful for the LDR module lists which are a set of doubly-linked lists, all // useful for the LDR module lists which are a set of doubly-linked lists, all
// pointing to the same module name strings. // pointing to the same module name strings.
// TODO(scottmg): A more general version of this, handling overlapping, // TODO(scottmg): A more general version of this, handling overlapping,
// contained, etc. https://code.google.com/p/crashpad/issues/detail?id=61. // contained, etc. https://crashpad.chromium.org/bug/61.
for (const auto& memory_snapshot : *into) { for (const auto& memory_snapshot : *into) {
if (memory_snapshot->Address() == address && if (memory_snapshot->Address() == address &&
memory_snapshot->Size() == size) { memory_snapshot->Size() == size) {

Просмотреть файл

@ -112,8 +112,7 @@ uint64_t ThreadSnapshotWin::ThreadSpecificDataAddress() const {
std::vector<const MemorySnapshot*> ThreadSnapshotWin::ExtraMemory() const { std::vector<const MemorySnapshot*> ThreadSnapshotWin::ExtraMemory() const {
INITIALIZATION_STATE_DCHECK_VALID(initialized_); INITIALIZATION_STATE_DCHECK_VALID(initialized_);
// TODO(scottmg): Ensure this region is readable, and make sure we don't // TODO(scottmg): Ensure this region is readable, and make sure we don't
// discard the entire dump if it isn't. // discard the entire dump if it isn't. https://crashpad.chromium.org/bug/59
// https://code.google.com/p/crashpad/issues/detail?id=59
return std::vector<const MemorySnapshot*>(1, &teb_); return std::vector<const MemorySnapshot*>(1, &teb_);
} }

Просмотреть файл

@ -92,7 +92,7 @@ void MachMultiprocess::PreFork() {
// Set up the parent port and register it with the bootstrap server before // Set up the parent port and register it with the bootstrap server before
// forking, so that its guaranteed to be there when the child attempts to // forking, so that its guaranteed to be there when the child attempts to
// look it up. // look it up.
info_->service_name = "com.googlecode.crashpad.test.mach_multiprocess."; info_->service_name = "org.chromium.crashpad.test.mach_multiprocess.";
for (int index = 0; index < 16; ++index) { for (int index = 0; index < 16; ++index) {
info_->service_name.append(1, base::RandInt('A', 'Z')); info_->service_name.append(1, base::RandInt('A', 'Z'));
} }

Просмотреть файл

@ -33,7 +33,7 @@ void ScopedTempDir::Rename() {
// static // static
base::FilePath ScopedTempDir::CreateTemporaryDirectory() { base::FilePath ScopedTempDir::CreateTemporaryDirectory() {
char dir_template[] = "/tmp/com.googlecode.crashpad.test.XXXXXX"; char dir_template[] = "/tmp/org.chromium.crashpad.test.XXXXXX";
PCHECK(mkdtemp(dir_template)) << "mkdtemp " << dir_template; PCHECK(mkdtemp(dir_template)) << "mkdtemp " << dir_template;
return base::FilePath(dir_template); return base::FilePath(dir_template);
} }

2
third_party/gmock/README.crashpad поставляемый
Просмотреть файл

@ -1,6 +1,6 @@
Name: Google C++ Mocking Framework (googlemock) Name: Google C++ Mocking Framework (googlemock)
Short Name: gmock Short Name: gmock
URL: https://googlemock.googlecode.com/ URL: https://github.com/google/googletest/tree/master/googlemock/
Revision: See DEPS Revision: See DEPS
License: BSD 3-clause License: BSD 3-clause
License File: gmock/LICENSE License File: gmock/LICENSE

2
third_party/gtest/README.crashpad поставляемый
Просмотреть файл

@ -1,6 +1,6 @@
Name: Google C++ Testing Framework (googletest) Name: Google C++ Testing Framework (googletest)
Short Name: gtest Short Name: gtest
URL: https://googletest.googlecode.com/ URL: https://github.com/google/googletest/
Revision: See DEPS Revision: See DEPS
License: BSD 3-clause License: BSD 3-clause
License File: gtest/LICENSE License File: gtest/LICENSE

2
third_party/gyp/README.crashpad поставляемый
Просмотреть файл

@ -1,6 +1,6 @@
Name: GYP (Generate Your Projects) Name: GYP (Generate Your Projects)
Short Name: gyp Short Name: gyp
URL: https://gyp.googlecode.com/ URL: https://gyp.gsrc.io/
Revision: See DEPS Revision: See DEPS
License: BSD 3-clause License: BSD 3-clause
License File: gyp/LICENSE License File: gyp/LICENSE

Просмотреть файл

@ -117,9 +117,9 @@ TEST(ServiceManagement, SubmitRemoveJob) {
base::StringPrintf("sleep 10; echo %s", cookie.c_str()); base::StringPrintf("sleep 10; echo %s", cookie.c_str());
NSString* shell_script_ns = base::SysUTF8ToNSString(shell_script); NSString* shell_script_ns = base::SysUTF8ToNSString(shell_script);
const char kJobLabel[] = "com.googlecode.crashpad.test.service_management"; const char kJobLabel[] = "org.chromium.crashpad.test.service_management";
NSDictionary* job_dictionary_ns = @{ NSDictionary* job_dictionary_ns = @{
@LAUNCH_JOBKEY_LABEL : @"com.googlecode.crashpad.test.service_management", @LAUNCH_JOBKEY_LABEL : @"org.chromium.crashpad.test.service_management",
@LAUNCH_JOBKEY_RUNATLOAD : @YES, @LAUNCH_JOBKEY_RUNATLOAD : @YES,
@LAUNCH_JOBKEY_PROGRAMARGUMENTS : @LAUNCH_JOBKEY_PROGRAMARGUMENTS :
@[ @"/bin/sh", @"-c", shell_script_ns, ], @[ @"/bin/sh", @"-c", shell_script_ns, ],

Просмотреть файл

@ -97,7 +97,7 @@ mach_port_t ChildPortHandshakeServer::RunServer(
errno = pthread_threadid_np(pthread_self(), &thread_id); errno = pthread_threadid_np(pthread_self(), &thread_id);
PCHECK(errno == 0) << "pthread_threadid_np"; PCHECK(errno == 0) << "pthread_threadid_np";
std::string service_name = base::StringPrintf( std::string service_name = base::StringPrintf(
"com.googlecode.crashpad.child_port_handshake.%d.%llu.%016llx", "org.chromium.crashpad.child_port_handshake.%d.%llu.%016llx",
getpid(), getpid(),
thread_id, thread_id,
base::RandUint64()); base::RandUint64());

Просмотреть файл

@ -138,7 +138,7 @@ TEST(MachExtensions, BootstrapCheckInAndLookUp) {
report_crash(BootstrapLookUp("com.apple.ReportCrash")); report_crash(BootstrapLookUp("com.apple.ReportCrash"));
EXPECT_NE(report_crash, kMachPortNull); EXPECT_NE(report_crash, kMachPortNull);
std::string service_name = "com.googlecode.crashpad.test.bootstrap_check_in."; std::string service_name = "org.chromium.crashpad.test.bootstrap_check_in.";
for (int index = 0; index < 16; ++index) { for (int index = 0; index < 16; ++index) {
service_name.append(1, base::RandInt('A', 'Z')); service_name.append(1, base::RandInt('A', 'Z'));
} }

Просмотреть файл

@ -351,8 +351,7 @@ $FXSave:
; Free the stack space used for the temporary fxsave area. ; Free the stack space used for the temporary fxsave area.
lea esp, [ebp-8] lea esp, [ebp-8]
; TODO(mark): AVX/xsave support. ; TODO(mark): AVX/xsave support. https://crashpad.chromium.org/bug/58
; https://code.google.com/p/crashpad/issues/detail?id=58
$FXSaveDone: $FXSaveDone:
; fnsave reinitializes the FPU with an implicit finit operation, so use frstor ; fnsave reinitializes the FPU with an implicit finit operation, so use frstor
@ -491,8 +490,7 @@ CAPTURECONTEXT_SYMBOL proc frame
; declared as 16-byte-aligned, which is correct for this operation. ; declared as 16-byte-aligned, which is correct for this operation.
fxsave [rcx.CONTEXT].c_FltSave fxsave [rcx.CONTEXT].c_FltSave
; TODO(mark): AVX/xsave support. ; TODO(mark): AVX/xsave support. https://crashpad.chromium.org/bug/58
; https://code.google.com/p/crashpad/issues/detail?id=58
; The register parameter home address fields arent used, so zero them out. ; The register parameter home address fields arent used, so zero them out.
mov [rcx.CONTEXT].c_P1Home, 0 mov [rcx.CONTEXT].c_P1Home, 0

Просмотреть файл

@ -180,7 +180,7 @@ class ProcessInfo {
std::vector<MEMORY_BASIC_INFORMATION64> memory_info_; std::vector<MEMORY_BASIC_INFORMATION64> memory_info_;
// Handles() is logically const, but updates this member on first retrieval. // Handles() is logically const, but updates this member on first retrieval.
// See https://code.google.com/p/crashpad/issues/detail?id=9. // See https://crashpad.chromium.org/bug/9.
mutable std::vector<Handle> handles_; mutable std::vector<Handle> handles_;
bool is_64_bit_; bool is_64_bit_;