gpt4 book ai didi

c++ - 在 GDB 中访问 C++ 模板变量

转载 作者:行者123 更新时间:2023-11-30 02:05:35 25 4
gpt4 key购买 nike

我正在尝试调试核心转储并希望访问使用 C++ 中的模板类实现的变量。

我在我的可执行文件中获取了符号的 objdump,其中包含以下符号之一 hmapnspace::HandleMapParameters<(hmapnspace::HandleType)1>::m_arHandleArray

但是当我尝试在 gdb 中访问这个变量时,出现以下错误:

(gdb) p hmapnspace::HandleMapParameters<(hmapnspace::HandleType)1>::m_arHandleArray
No type "HandleMapParameters<(hmapnspace::HandleType)1>" within class or namespace "hmapnspace".

我怎样才能正确访问这个变量?

最佳答案

有时,gdb 对 C++ 程序中的名称有看似奇怪的想法。要克服,请尝试输入

print 'hmapnspace::HandleMapPar

然后按 Tab 键完成(注意单引号,你必须使用它)。

你也可以找出变量的地址并说出类似的话

print *(int*) 0xdeadbabe

当您需要监视名称不在范围内的值时非常方便。

关于c++ - 在 GDB 中访问 C++ 模板变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9505144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com