【问题标题】:Stack size in Unix pthread_createUnix pthread_create 中的堆栈大小
【发布时间】:2012-03-07 16:58:11
【问题描述】:

我正在我的应用程序中使用 pthread_create 创建 10 个线程。分配给每个线程的默认堆栈大小是多少?

我正在尝试调试崩溃,其中我的应用程序因非法指令而崩溃,其中一个函数指针被重置为 0。其中一个指标可能是我的应用程序线程已用完堆栈大小并被覆盖函数指针所在的现有堆栈空间。

【问题讨论】:

  • 拨打pthread_attr_getstacksize了解一下?

标签: pthreads


【解决方案1】:

有关 pthread 的教程,请参阅 https://computing.llnl.gov/tutorials/pthreads/。使用attr 参数设置初始堆栈大小,使用pthread_attr_init 创建。不过,一般来说,您不希望拥有大量筹码。如果您在堆栈上分配了超过几百 KB,您可能会发现通过在堆上分配数据并根据需要释放它来更容易调试您的程序。

【讨论】:

    猜你喜欢
    • 2013-10-20
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    相关资源
    最近更新 更多