gpt4 book ai didi

c - C中指针值变化的可能原因?

转载 作者:太空宇宙 更新时间:2023-11-04 07:36:41 24 4
gpt4 key购买 nike

我有一个函数

void* fn( void* ptr ){...}

我在 pthread 中用作起始方法。在函数的某处,我收到一个错误,其中 ptr(通常指向一个结构)从其原始值更改为 0x100000000000000(来自 printf("%p")),尽管函数 fn 中没有任何地方被赋值,但我只是读取它的值,如 ptr->value。有什么想法吗?

最佳答案

这可能是调用函数中的缓冲区溢出。

假设是一个 Linux 系统,我通常使用 GDB 硬件观察点调试此类错误。

您也可以通过 valgrind 运行您的程序。

关于c - C中指针值变化的可能原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8254410/

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