Ubuntu strings 代码调试实用指南
一 工具定位与适用场景
sudo apt-get update && sudo apt-get install binutils。二 快速上手与高频用法
strings your_binarystrings your_binary | grep "Error"(也可用于定位路径、版本等)strings core_dump_file | grep -i "panic\|segfault\|error"strings your_binary | grep "libc",或进一步用 objdump -p your_binary | grep NEEDED 查看动态依赖,再用 strings 核对版本线索strings /lib/x86_64-linux-gnu/libc-2.27.so | grep -i versiongrep/awk/sort/uniq -c 做频次与模式分析(如统计 IP、接口路径等)三 与 GDB 联动定位到代码层
gdb ./your_binaryb your_file.c:line 或 b function_name,然后 runb __do_page_cache_readahead if $_streq(filp->f_path.dentry->d_name.name, "fio")(命中后 bt 查看调用栈,print 检查变量)x 命令检查内存,例如 x/10cs $rdi(以 char 为单位显示 10 个并当作字符串),或 x/s $rdi 直接按 C 字符串显示四 编译与排错建议
gcc -g -O0 your.c -o your_binary),便于 GDB 显示变量、行号与调用栈;发布时再根据需要调整优化级别。$_streq 等内置函数做字符串条件判断。objdump -T 查看动态符号、objdump -s -j .rodata 查看只读数据段内容,配合 strings 交叉验证字符串来源与位置。