gpt4 book ai didi

c++ - 了解 C++ 程序的 GDB 语法

转载 作者:行者123 更新时间:2023-12-02 04:18:57 26 4
gpt4 key购买 nike

执行命令x/64ga $rsp后,我将其作为行输出之一:

<Hex-addr-val> <Hex-addr-val> <Hex-addr-val> <Class_Name::Foo(Data_Type const&)+662>

所以我理解该行中的所有内容,除了末尾的“+662”部分。这个数字对于函数来说意味着什么?崩溃时它是正值吗?还是别的什么?

最佳答案

What does that number means in relation to the function?

这意味着 GDB 在 $rsp+24 位置发现了一个值,看起来像一个地址,指向 Class_Name::Foo 代码内的 662 字节().

这可能是巧合,也可能是该地址被压入堆栈(例如,因为 Foo() 调用了其他函数)。

使用 x/i '&Class_Name::Foo(Data_Type const&)+662-5 可能会显示该地址有一个 CALL 指令,这将是强烈表明这不仅仅是一个随机巧合。

关于c++ - 了解 C++ 程序的 GDB 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59179126/

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