- 复现步骤:
在一个terminal执行./route_guide_server,另一个terminal执行./route_guide_client. 在执行./route_guide_client的时候出错显示“Aborted(core dumped)” - 查找问题:
- 利用gdb,执行
gdb ./route_guild_client,在run之后,显示received signal SIGABRT. 查看bt,显示是由于调用了/usr/local/lib/libgrpc++.so.1中的grpc_slice_malloc()导致了__GI_abort()。而事实上,安装grpc的lib的location是在~/.local/lib中,用nm -A ~/.local/lib/libgrpc++* 2>/dev/null | grep “grpc_slice_malloc” 确实找到了在libgrpc++.a中有grpc_slice_malloc的符号。 - 查看Makefile,在LDFLAGS那行加了 -L/usr/local/lib, 表明是在/usr/local/lib中查找lib文件,然后
pkg-config --libs protobuf grpc++开头显示-L/[homedir]/.local/lib,所以在Makefile中直接去掉 -L/usr/local/lib,重新编译执行
- 利用gdb,执行
- 解决问题:
在Makefile中去掉 -L/usr/local/lib,重新编译执行
grpc route_guide执行时遇到Aborted core dumped
最新推荐文章于 2024-08-10 13:17:37 发布
博客记录了grpc客户端执行报错‘Aborted(core dumped)’的复现、查找及解决过程。利用gdb发现是调用/usr/local/lib/libgrpc++.so.1中的grpc_slice_malloc()导致问题,而grpc的lib实际安装在~/.local/lib。查看Makefile后,去掉 -L/usr/local/lib并重新编译执行解决问题。
977

被折叠的 条评论
为什么被折叠?



