ホームページ  >  記事  >  バックエンド開発  >  GDB で C ベクトルの要素を出力するには?

GDB で C ベクトルの要素を出力するには?

DDD
DDDオリジナル
2024-10-27 19:53:30503ブラウズ

How to Print Elements of a C   Vector in GDB?

GDB での C ベクターの要素の出力

GDB で C コードをデバッグする場合、ベクターの内容を調べることが必要になる場合があります。整数のベクトル (std::vector) でこれを行うには、次の手順に従います。

ベクトル全体の出力:

print *(myVector._M_impl._M_start)@myVector.size()

この式ベクトルの内部配列へのポインター (_M_impl._M_start) にアクセスし、指定された数の要素を出力します (myVector.size())。

最初の N 要素のみを出力:

print *(myVector._M_impl._M_start)@N

N を印刷する要素の数に置き換えます。

説明:

  • 内部配列へのポインタは次のとおりです。 _M_impl._M_start.
  • ポインター P から始まる配列の N 要素を出力する GDB コマンドは次のとおりです: print P@N.
  • ベクトルの合計サイズは、myVector を使用して取得できます。 .size().

注: このアプローチは、コンパイラのバージョンによって異なる場合があります。 GCC 4.1.2 の場合、このメソッドは効果的に機能することがテストされています。

以上がGDB で C ベクトルの要素を出力するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。