透過GDB 在C 中列印向量元素
在GDB 中除錯C 程式碼時,檢查std::vector 的內容可能具有挑戰性。例如,考慮一個 std::vector
在 GCC 4.1.2 中,解決方案涉及存取向量的內部指標 myVector._M_impl._M_start,它指向保存向量元素的陣列。
要列印整個向量,請使用:
print *(myVector._M_impl._M_start)@myVector.size()
要只列印前N 個元素,請將其修改為:
print *(myVector._M_impl._M_start)@N
推理
這個方法利用GDB 指令從給定指標開始列印陣列的N 個元素。在本例中,指標是 myVector._M_impl._M_start,我們使用 myVector.size() 指定要列印的元素數量或所需的計數 N。
雖然此方法適用於 GCC 4.1.2 ,它可能會根據您的編譯器版本而有所不同。因此,對於其他版本,建議查閱相關文件。
以上是如何使用 GDB 在 C 中列印向量元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!