高人请进:1.msgsnd返回小于0会发送成功吗 2.core文件怎么确定内存重复释放
高人请进:1.msgsnd返回小于0会发送成功吗 2.core文件如何确定内存重复释放
问题1:怀疑某条消息实际发送成功了,但是msgsnd返回小于0
问题2:拿到一个core文件堆栈如下,如何确定内存是被重复释放导致的宕机
gdb) bt
#0 0x00000034e4232925 in raise () from /lib64/libc.so.6
#1 0x00000034e4234105 in abort () from /lib64/libc.so.6
#2 0x00000034e4270837 in __libc_message () from /lib64/libc.so.6
#3 0x00000034e4276166 in malloc_printerr () from /lib64/libc.so.6
#4 0x00000000008c59c8 in rpc_server_free_message (msg=0x7f81bf5fde00) at rpc_server.c:423
谢谢
------解决思路----------------------
不会发送成功,但是msgsnd返回<0的。
内存重复释放一般会打印说double free
问题1:怀疑某条消息实际发送成功了,但是msgsnd返回小于0
问题2:拿到一个core文件堆栈如下,如何确定内存是被重复释放导致的宕机
gdb) bt
#0 0x00000034e4232925 in raise () from /lib64/libc.so.6
#1 0x00000034e4234105 in abort () from /lib64/libc.so.6
#2 0x00000034e4270837 in __libc_message () from /lib64/libc.so.6
#3 0x00000034e4276166 in malloc_printerr () from /lib64/libc.so.6
#4 0x00000000008c59c8 in rpc_server_free_message (msg=0x7f81bf5fde00) at rpc_server.c:423
谢谢
------解决思路----------------------
不会发送成功,但是msgsnd返回<0的。
内存重复释放一般会打印说double free