首頁  >  文章  >  後端開發  >  如何在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn