symbol lookup error *** , undefined symbol 错误
在重装samba过程后遇到一些问题,使用 gdb 时产生报错:
gdb: symbol lookup error: gdb: undefined symbol: PyUnicodeUCS2_FromEncodedObject
原因是 gdb 依赖了python的一些包,而那些包版本太旧,使用时就会发生一些未定义的错误。
使用 nm 命令和 ldd 命令可辅助解决这问题。
nm 命令用于找到文件中的symbol对象,ldd用于打印 命令 的依赖库。
步骤如下:
1、运行 which gdb 找到gdb命令的位置
2、运行 ldd /usr/bin/gdb 查看gdb依赖库
3、可使用 nm 命令查看对应动态库symbol
4、定位问题,用新库替换旧库