gpt4 book ai didi

c - 使用 GDB 调试时读取变量 (C)

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:24 25 4
gpt4 key购买 nike

我是 GDB 调试的初学者。我需要在 GDB 中读取变量,我使用命令信息变量并获取此信息:

 0x000007c4 variable1.0
0x000007c8 variable2.1

我在变量函数中设置了一个断点,这些断点是如何定义 long *.我怎样才能正确读取这些里面的值?我尝试了 show、display、print $variable1、p/x variable 等等命令。

对不起我的语法,我不是母语人士。

最佳答案

要查看内存内容,请使用 gdb 的 x/FMT ADDRESS 命令,例如x/d 0x000007c4(显示地址为 0x000007c4 的整数大小的对象并将其格式化为十进制)。

gdb 中的info variables 命令将列出所有全局变量和静态变量及其程序地址。您没有描述您正在使用的语言或实现,但在 C 中,变量名称“variable1.0”无效。因此它一定是由某个链接编辑器或编译器在后处理中创建的。因此该符号可能不存在于调试信息中,只能通过直接查看内存内容来访问,这就是为什么 gdb p 命令不起作用的原因(没有有效的表达式向您显示该变量因为它不是变量,而只是地址处的符号)。

关于c - 使用 GDB 调试时读取变量 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35582697/

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