unix多线程问题
今天将一个多线程程序由linux移植到AIX Unix遇到问题,Linux下运行程序正常,但unix下却coredump了,用dbx分析unix线程切换,发现其中有个函数,定义了结构体变量,其空间为129080,如果将该结构体空间改成100,程序能通过。问题:AIX中多线程是不是有什么限制,如栈空间?为啥Linux就可以? 附上: Segmentation fault in fc_pkg2 at 0x1000207c ($t2) 0x1000207c (fc_pkg2+0x24) 7c21616estwux r1,r1,r12 (dbx) where fc_pkg2() at 0x1000207c test_pthread(data = (nil)), line 29 in "cdb_main.c" (dbx) x $r0:0x100038a4 $stkp:0x30006230 $toc:0x300008e0 $r3:0x30006280 $r4:0x30047458 $r5:0x30047408 $r6:0x00000000 $r7:0x30000658 $r8:0x1028c16b $r9:0x1028c16b $r10:0x00000000 $r11:0x00000000 $r12:0xfffe0550 $r13:0x00000000 $r14:0x00000000 $r15:0x00000000 $r16:0x00000000 $r17:0x00000000 $r18:0x00000000 $r19:0x00000000 $r20:0x00000000 $r21:0x00000000 $r22:0x00000000 $r23:0x00000000 $r24:0x00000000 $r25:0x00000010 $r26:0x30047408 $r27:0x100074c4 $r28:0x10007028 $r29:0x00000000 $r30:0x300062b8 $r31:0x30006280 $iar:0x1000207c $msr:0x0000d032 $cr:0x42000224 $link:0x100038a4 $ctr:0xd0132880 $xer:0x20000017 $mq:0x00000000 Condition status = 0:g 1:e 5:e 6:e 7:g [unset $noflregs to view floating point registers] [unset $novregs to view vector registers] in fc_pkg2 at 0x1000207c ($t2) 0x1000207c (fc_pkg2+0x24) 7c21616estwux r1,r1,r12 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |