亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: gdb調(diào)試的一個(gè)問題,請(qǐng)教大家 [打印本頁(yè)]

作者: plscareme    時(shí)間: 2005-12-23 17:05
標(biāo)題: gdb調(diào)試的一個(gè)問題,請(qǐng)教大家
1. 主要是父子進(jìn)程的調(diào)試問題,出現(xiàn)一個(gè)很奇怪的現(xiàn)象。在子進(jìn)程中設(shè)置斷點(diǎn),會(huì)將子進(jìn)程的弄
成defunction(僵死)的進(jìn)程。然而如果在父進(jìn)程的部分設(shè)置斷點(diǎn),就不會(huì)出現(xiàn)子進(jìn)程僵死的問題。
好像是子進(jìn)程一掛就掛死了。

int main(void)
{
        pid_t pid;
        /* fork the child process */
        pid = fork();
        if (pid < (pid_t)0)
                {
                        printf("fork failed . \n");
                        exit(1);
                }
        if (pid == (pid_t)0)
        /* 子進(jìn)程 */
        {
(斷點(diǎn)在這)     printf("process child before sleep. \n");
                sleep(3000);
        }
        else {
                printf("process parent before sleep. \n");
                sleep(300);
        }


在父進(jìn)程中設(shè)置斷點(diǎn),父子進(jìn)程都沒有問題。
int main(void)
{
        pid_t pid;
        /* fork the child process */
        pid = fork();
        if (pid < (pid_t)0)
                {
                        printf("fork failed . \n");
                        exit(1);
                }
        if (pid == (pid_t)0)
        /* 子進(jìn)程 */
        {
                printf("process child before sleep. \n");
                sleep(3000);
        }
        else {
(斷點(diǎn)在這)     printf("process parent before sleep. \n");
                sleep(300);
        }

這是不是意味著用GDB調(diào)試父子進(jìn)程,只能是在父子進(jìn)程都運(yùn)行ok的情況下,分別將gdb attach到進(jìn)程上。
但是如果只想起一個(gè)gdb, 或者是子進(jìn)程成功運(yùn)行起來,但是馬上出錯(cuò),根本來不及attach,這種方法就
有問題了。不知道是不是gdb調(diào)試這種多進(jìn)程的缺陷? 好像在網(wǎng)上看到過。

測(cè)試用的環(huán)境是這樣的:
SunOS 5.7 Generic_106541-23 sun4u sparc SUNW,Ultra-4

2. 父進(jìn)程被掛起,子進(jìn)程是不是也被掛起來了? 至少?gòu)膅db的結(jié)果來看,不是的。
作者: soi    時(shí)間: 2005-12-23 18:29
在子進(jìn)程時(shí)停止n妙,然后attach
作者: plscareme    時(shí)間: 2005-12-26 20:28
什么意思?????????
作者: ping17909    時(shí)間: 2005-12-28 00:07
gdb調(diào)試子進(jìn)程方法:

1 在fork子進(jìn)程后,子進(jìn)程sleep幾秒鐘

2 使用ps 查看fork出來的子進(jìn)程的進(jìn)程號(hào)

3 打開gdb,使用attach 命令




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2