The Debugger service provides the API that allows users to collect run-time information from a running application, without stopping or slowing it down and without modifying its state.
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor ofController2Client.
The optionaloptionsargument may be used to configure aspects of the returnedController2Connection. Expected options are any of the types in the following option lists:
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor ofDebugger2Client.
The optionaloptionsargument may be used to configure aspects of the returnedDebugger2Connection. Expected options are any of the types in the following option lists:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis documentation covers the C++ client library for Google Cloud Debugger v2, with the latest version being 2.12.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eController2Client\u003c/code\u003e class allows users to manage a collection of debugger agents, while the \u003ccode\u003eDebugger2Client\u003c/code\u003e class lets users collect runtime information without stopping or modifying an application.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eController2Connection\u003c/code\u003e and \u003ccode\u003eDebugger2Connection\u003c/code\u003e are the connection objects for their respective clients, facilitating the communication with the underlying service.\u003c/p\u003e\n"],["\u003cp\u003eFactory functions \u003ccode\u003eMakeController2Connection\u003c/code\u003e and \u003ccode\u003eMakeDebugger2Connection\u003c/code\u003e are provided to create connection objects, accepting various options to configure the connection behavior.\u003c/p\u003e\n"],["\u003cp\u003eSeveral types of policies are defined, including \u003ccode\u003eRetryPolicy\u003c/code\u003e, \u003ccode\u003eBackoffPolicy\u003c/code\u003e, and \u003ccode\u003eIdempotencyPolicy\u003c/code\u003e, to manage retries and operation characteristics for both \u003ccode\u003eController2\u003c/code\u003e and \u003ccode\u003eDebugger2\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::debugger_v2 (2.12.0-rc)\n\nVersion latestkeyboard_arrow_down\n\n- [2.12.0-rc (latest)](/cpp/docs/reference/debugger/latest/namespacegoogle_1_1cloud_1_1debugger__v2)\n- [2.11.0](/cpp/docs/reference/debugger/2.11.0/namespacegoogle_1_1cloud_1_1debugger__v2) \n\nClasses\n-------\n\n### [Controller2Client](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Client)\n\nThe Controller service provides the API for orchestrating a collection of debugger agents to perform debugging tasks.\n\n### [Controller2Connection](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Connection)\n\nThe [`Controller2Connection`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Connection) object for [`Controller2Client`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Client).\n\n### [Controller2ConnectionIdempotencyPolicy](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2ConnectionIdempotencyPolicy)\n\n### [Debugger2Client](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Client)\n\nThe Debugger service provides the API that allows users to collect run-time information from a running application, without stopping or slowing it down and without modifying its state.\n\n### [Debugger2Connection](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Connection)\n\nThe [`Debugger2Connection`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Connection) object for [`Debugger2Client`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Client).\n\n### [Debugger2ConnectionIdempotencyPolicy](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2ConnectionIdempotencyPolicy)\n\nStructs\n-------\n\n### [Controller2BackoffPolicyOption](/cpp/docs/reference/debugger/latest/structgoogle_1_1cloud_1_1debugger__v2_1_1Controller2BackoffPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the backoff policy.\n\n### [Controller2ConnectionIdempotencyPolicyOption](/cpp/docs/reference/debugger/latest/structgoogle_1_1cloud_1_1debugger__v2_1_1Controller2ConnectionIdempotencyPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure which operations are retried.\n\n### [Controller2RetryPolicyOption](/cpp/docs/reference/debugger/latest/structgoogle_1_1cloud_1_1debugger__v2_1_1Controller2RetryPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the retry policy.\n\n### [Debugger2BackoffPolicyOption](/cpp/docs/reference/debugger/latest/structgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2BackoffPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the backoff policy.\n\n### [Debugger2ConnectionIdempotencyPolicyOption](/cpp/docs/reference/debugger/latest/structgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2ConnectionIdempotencyPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure which operations are retried.\n\n### [Debugger2RetryPolicyOption](/cpp/docs/reference/debugger/latest/structgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2RetryPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the retry policy.\n\nFunctions\n---------\n\n### MakeController2Connection(Options)\n\nA factory function to construct an object of type [`Controller2Connection`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Connection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [Controller2Client](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Client).\n\nThe optional `options` argument may be used to configure aspects of the returned [`Controller2Connection`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Connection). Expected options are any of the types in the following option lists:\n\n- [`google::cloud::CommonOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::GrpcOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::UnifiedCredentialsOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::debugger_v2::Controller2PolicyOptionList`](/cpp/docs/reference/debugger/latest/namespacegoogle_1_1cloud_1_1debugger__v2)\n\n| **Note:** Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment.\n\n### MakeDefaultController2ConnectionIdempotencyPolicy()\n\n### MakeDebugger2Connection(Options)\n\nA factory function to construct an object of type [`Debugger2Connection`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Connection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [Debugger2Client](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Client).\n\nThe optional `options` argument may be used to configure aspects of the returned [`Debugger2Connection`](/cpp/docs/reference/debugger/latest/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Connection). Expected options are any of the types in the following option lists:\n\n- [`google::cloud::CommonOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::GrpcOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::UnifiedCredentialsOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::debugger_v2::Debugger2PolicyOptionList`](/cpp/docs/reference/debugger/latest/namespacegoogle_1_1cloud_1_1debugger__v2)\n\n| **Note:** Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment.\n\n### MakeDefaultDebugger2ConnectionIdempotencyPolicy()\n\nType Aliases\n------------\n\n### Controller2RetryPolicy\n\n**Alias Of** : `::google::cloud::internal::TraitBasedRetryPolicy\u003c debugger_v2_internal::Controller2RetryTraits \u003e` \n\n### Controller2LimitedTimeRetryPolicy\n\n**Alias Of** : `::google::cloud::internal::LimitedTimeRetryPolicy\u003c debugger_v2_internal::Controller2RetryTraits \u003e` \n\n### Controller2LimitedErrorCountRetryPolicy\n\n**Alias Of** : `::google::cloud::internal::LimitedErrorCountRetryPolicy\u003c debugger_v2_internal::Controller2RetryTraits \u003e` \n\n### Controller2PolicyOptionList\n\n**Alias Of** : `OptionList\u003c Controller2RetryPolicyOption, Controller2BackoffPolicyOption, Controller2ConnectionIdempotencyPolicyOption \u003e` \nThe options applicable to Controller2. \n\n### Debugger2RetryPolicy\n\n**Alias Of** : `::google::cloud::internal::TraitBasedRetryPolicy\u003c debugger_v2_internal::Debugger2RetryTraits \u003e` \n\n### Debugger2LimitedTimeRetryPolicy\n\n**Alias Of** : `::google::cloud::internal::LimitedTimeRetryPolicy\u003c debugger_v2_internal::Debugger2RetryTraits \u003e` \n\n### Debugger2LimitedErrorCountRetryPolicy\n\n**Alias Of** : `::google::cloud::internal::LimitedErrorCountRetryPolicy\u003c debugger_v2_internal::Debugger2RetryTraits \u003e` \n\n### Debugger2PolicyOptionList\n\n**Alias Of** : `OptionList\u003c Debugger2RetryPolicyOption, Debugger2BackoffPolicyOption, Debugger2ConnectionIdempotencyPolicyOption \u003e` \nThe options applicable to Debugger2."]]