gpt4 book ai didi

c - 为什么多线程malloc中指针的值会变化?

转载 作者:行者123 更新时间:2023-11-30 21:31:11 24 4
gpt4 key购买 nike

  1. 大家好,我在这里遇到一个非常奇怪的问题。你有什么想法吗分段故障?任何意见,将不胜感激!提前谢谢!

测试()

{

pMsg_node = found_bakup_msg_node();

if(pMsg_node != NULL) {
Dprintf("#%s#%d %p\n", __FUNCTION__, __LINE__, pMsg_node);
ret = cp_msg_node_data(pMsg_node, pMsg_next);
}

}

================================================== ===================

struct MSG_INFO*found_bakup_msg_node(void){ 结构 MSG_INFO* msg_node = NULL;

    msg_node = (struct MSG_INFO*)malloc(sizeof(struct MSG_INFO));
if(msg_node != NULL) {
memset(msg_node, 0x0, sizeof(struct MSG_INFO));

Dprintf("#%s# %p\n", __FUNCTION__,
msg_node);
}

return msg_node;

}

================================================== =========

----------------------------------------日志 1------------------ --------------

> header=0x923950    
>found_bakup_msg_node#alloc_bakup_count=1 0x7f6090032f70 //return from malloc()
>cp_msg_list#561
> cp_msg_node_data#458
>cp_msg_node_data#463 0xffffffff90032f70 0x923950 //notice here
>Segmentation fault
> robin@robin-desktop:/media/work/project/rcd$

--------------------------日志 2 ------------------- -------------

 #cp_msg_list#566
#found_bakup_msg_node#alloc_bakup_count=180 **0x7fe6e000d5b0**
#cp_msg_node_data#464 **0xffffffffe000d5b0** 0x2154620
Segmentation fault
robin@robin-desktop:/media/work/project/rcd$
<小时/>

最佳答案

你试过在gdb下运行程序吗?它通常会显示出现段错误的原因,并且一般来说学习如何使用 gdb 很有用。

关于c - 为什么多线程malloc中指针的值会变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com