mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 22:26:06 +00:00
Update all URLs to point to https://crashpad.chromium.org/
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:
parent
06ad194571
commit
cd0e25f1ba
@ -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,18 +191,19 @@ 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.
|
||||||
//!
|
//!
|
||||||
//! \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
|
||||||
if (!WriteXattrBool(base_dir_, XattrName(kXattrDatabaseInitialized), true))
|
// database uses old or new xattr names.
|
||||||
return false;
|
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))
|
||||||
|
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"]
|
||||||
----
|
----
|
||||||
|
10
doc/index.ad
10
doc/index.ad
@ -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 it’s guaranteed to be there when the child attempts to
|
// forking, so that it’s 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
vendored
2
third_party/gmock/README.crashpad
vendored
@ -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
vendored
2
third_party/gtest/README.crashpad
vendored
@ -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
vendored
2
third_party/gyp/README.crashpad
vendored
@ -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 aren’t used, so zero them out.
|
; The register parameter home address fields aren’t 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_;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user