Stackdriver Debugger API C++ Client Library
This directory contains an idiomatic C++ client library for the Stackdriver Debugger API, a service to examine the call stack and variables of a running application without stopping or slowing it down.
⚠️ The Stackdriver Debugger API has been deprecated. The library will continue to be supported until the service is shutdown, at which time we will remove the library.
Supported Platforms
- Windows, macOS, Linux
- C++14 (and higher) compilers (we test with GCC >= 7.3, Clang >= 6.0, and MSVC >= 2017)
- Environments with or without exceptions
- Bazel (>= 4.0) and CMake (>= 3.5) builds
Documentation
- Official documentation about the Stackdriver Debugger API service
- Reference doxygen documentation for each release of this client library
- Detailed header comments in our public
.hfiles
Quickstart
The quickstart/ directory contains a minimal environment to get started using this client library in a larger project. The following "Hello World" program is used in this quickstart, and should give you a taste of this library.
#include "google/cloud/debugger/debugger2_client.h" #include <iostream> int main(int argc, char* argv[]) try { if (argc != 2) { std::cerr << "Usage: " << argv[0] << " project-id\n"; return 1; } namespace debugger = ::google::cloud::debugger; auto client = debugger::Debugger2Client(debugger::MakeDebugger2Connection()); auto response = client.ListDebuggees(argv[1], "quickstart"); if (!response) throw std::move(response).status(); std::cout << response->DebugString() << "\n"; return 0; } catch (google::cloud::Status const& status) { std::cerr << "google::cloud::Status thrown: " << status << "\n"; return 1; }
- Packaging maintainers or developers who prefer to install the library in a
fixed directory (such as
/usr/localor/opt) should consult the packaging guide. - Developers that prefer using a package manager such as vcpkg, Conda, or Conan should follow the instructions for their package manager.
- Developers wanting to use the libraries as part of a larger CMake or Bazel project should consult the quickstart guides for the library or libraries they want to use.
- Developers wanting to compile the library just to run some examples or tests should read the current document.
- Contributors and developers to
google-cloud-cppshould consult the guide to set up a development workstation.
Contributing changes
See CONTRIBUTING.md for details on how to
contribute to this project, including how to build and test your changes
as well as how to properly format your code.
Licensing
Apache 2.0; see LICENSE for details.