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 version 2.11.0 of the C++ Debugger API, which includes the Controller and Debugger services.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eController2Client\u003c/code\u003e and \u003ccode\u003eDebugger2Client\u003c/code\u003e classes are provided for interacting with the respective services, with \u003ccode\u003eController2Connection\u003c/code\u003e and \u003ccode\u003eDebugger2Connection\u003c/code\u003e classes managing connections for them.\u003c/p\u003e\n"],["\u003cp\u003eFactory functions \u003ccode\u003eMakeController2Connection\u003c/code\u003e and \u003ccode\u003eMakeDebugger2Connection\u003c/code\u003e are used to create connection objects and accept various options for configuration, including retry and backoff policies.\u003c/p\u003e\n"],["\u003cp\u003eIdempotency policies for both Controller and Debugger services can be created using \u003ccode\u003eMakeDefaultController2ConnectionIdempotencyPolicy\u003c/code\u003e and \u003ccode\u003eMakeDefaultDebugger2ConnectionIdempotencyPolicy\u003c/code\u003e functions.\u003c/p\u003e\n"],["\u003cp\u003eSeveral options are available for configuring retry behavior, including \u003ccode\u003eController2RetryPolicyOption\u003c/code\u003e, \u003ccode\u003eDebugger2RetryPolicyOption\u003c/code\u003e, and their associated backoff and connection idempotency options, along with their applicable option lists.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::debugger_v2 (2.11.0)\n\nVersion 2.11.0keyboard_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/2.11.0/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/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Connection)\n\nThe [`Controller2Connection`](/cpp/docs/reference/debugger/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Connection) object for [`Controller2Client`](/cpp/docs/reference/debugger/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2Client).\n\n### [Controller2ConnectionIdempotencyPolicy](/cpp/docs/reference/debugger/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Controller2ConnectionIdempotencyPolicy)\n\n### [Debugger2Client](/cpp/docs/reference/debugger/2.11.0/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/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Connection)\n\nThe [`Debugger2Connection`](/cpp/docs/reference/debugger/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Connection) object for [`Debugger2Client`](/cpp/docs/reference/debugger/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2Client).\n\n### [Debugger2ConnectionIdempotencyPolicy](/cpp/docs/reference/debugger/2.11.0/classgoogle_1_1cloud_1_1debugger__v2_1_1Debugger2ConnectionIdempotencyPolicy)\n\nStructs\n-------\n\n### [Controller2BackoffPolicyOption](/cpp/docs/reference/debugger/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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`](about:invalid#zCSafez)\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/2.11.0/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/2.11.0/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/2.11.0/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/2.11.0/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`](about:invalid#zCSafez)\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/2.11.0/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."]]