c++ - 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
有没有办法检查传递给这个函数的参数?任何解释都将帮助我了解正在发生的事情。
提前感谢帮助。
解决方案
您没有指定正在使用的操作系统,而是尝试为 libc 安装调试符号。例如 Ubuntu/Debian 上的 libc6-dbg。
推荐阅读
- java - 如何获取 FirebaseUser 数据
- jquery - jquery在锚标记内的斜体标记内选择一个类
- android - 队列缓冲区和文件中的错误导致我的应用程序终止
- groovy - 在 ODI 中使用 Groovy 设置数据源的订阅者
- ag-grid - 是否可以使用 ag-grid 来创建“垂直方向”的网格?(不是数据透视表)
- html - 将图像放在平行四边形内,没有曲率
- javascript - 在 javascript 中使用二维数组并尝试从中读取值会给出“未捕获的类型错误:无法读取未定义的属性 '0'”
- ms-access - 我正在尝试在访问中运行查询。当我使用 IIF 函数设置参数时,它无法正常工作。它没有读取字符串
- loops - 如何循环通过 Makefile (GNU) 中的文本文件?
- python - 动态python函数和exec混淆