gdb 调试出现gdb) frame 1 #1 0x00015af0 in write_parameter (fd=0x0, sps=0xee0b8 <container+3376> "gd", sps_length=25, pps=0xee2c4 <container+3900> "h\357<\260", pps_length=4) at flv.c:201 201 flv.c: No such file or directory. gdb调试出现这个时什么问题
时间: 2023-11-27 17:53:27 浏览: 41
这个问题可能是因为gdb没有找到正确的flv.c文件路径导致的。你可以尝试使用以下命令设置正确的源代码路径:
```
dir /path/to/source/code
```
其中,`/path/to/source/code`应该替换为包含flv.c文件的目录的路径。这个命令会告诉gdb在调试过程中从这个目录中查找源代码文件。
如果你已经设置了正确的源代码路径,但仍然无法解决问题,那么你可能需要检查编译时是否使用了-g选项来生成调试信息,并确保没有对编译后的二进制文件进行strip等操作。
相关问题
gdb调试时this=0x7f1c00327600这种信息怎么看
在 GDB 调试时,`this` 是一个指向当前对象的指针。这个指针通常用于在类成员函数中访问对象的成员变量和方法。`this` 指针的值 `0x7f1c00327600` 表示当前对象的内存地址。在调试时,可以使用 `print` 命令打印 `this` 指针的值,例如:
```
(gdb) print this
$1 = (MyClass *) 0x7f1c00327600
```
这个命令将打印 `this` 指针的值,并将其解释为指向 `MyClass` 类型的指针。如果您想查看对象的成员变量或方法,请使用 `print` 命令并使用 `->` 运算符访问它们,例如:
```
(gdb) print this->my_member_variable
$2 = 42
(gdb) print this->my_member_function()
$3 = 0x7f1c00327610
```
这些命令将分别打印对象的 `my_member_variable` 成员变量和 `my_member_function()` 成员方法的返回值。
#o0x00000000004009c0 in main ( ) Missing separate debuginfos,use: debuginfo-install glibc-2.17-317.el7.x86_64( gdb). 怎么解决
这个错误是由于缺少调试信息所致。要解决这个问题,你需要安装相应的调试信息包。
根据你提供的信息,你可以尝试使用以下命令来安装 glibc 的调试信息包:
```
debuginfo-install glibc-2.17-317.el7.x86_64
```
这个命令会安装对应的 glibc 调试信息包,以便在调试时能够显示更详细的信息。
请注意,命令中的版本号可能需要根据你的系统配置进行调整。如果你使用的是其他 Linux 发行版,可能需要使用不同的包管理器来安装调试信息包。
安装完成后,你可以重新运行程序并使用 gdb 进行调试,以便找出具体的问题所在。