首页 > 解决方案 > gdb - 查找 strncmp() 函数的值

问题描述

我有一个代码遇到了 strncmp() 的段错误,我在下面有以下信息:

#7  0x00007f3662e5d4e7 in __strncmp_sse42 () from /lib64/libc.so.6
(gdb) info locals
No symbol table info available.
(gdb) info args
No symbol table info available.
(gdb) info frame
Stack level 7, frame at 0x7f35f4413b70:
 rip = 0x7f3662e5d4e7 in __strncmp_sse42; saved rip = 0x7f35f64f5d6d
 called by frame at 0x7f35f4413cc0, caller of frame at 0x7f35f4413b68
 Arglist at 0x7f35f4413b60, args:
 Locals at 0x7f35f4413b60, Previous frame's sp is 0x7f35f4413b70
 Saved registers:
  rip at 0x7f35f4413b68

有没有办法检查传递给这个函数的参数?任何解释都将帮助我了解正在发生的事情。

提前感谢帮助。

标签: c++cgdb

解决方案


您没有指定正在使用的操作系统,而是尝试为 libc 安装调试符号。例如 Ubuntu/Debian 上的 libc6-dbg。


推荐阅读