請問有人有實作與Lab-9類似的dug環境嗎?
我將中斷點設在first() //執行fork的function
還有main裡面第一個while迴圈判斷式switch (tasks[current_task][2 + 7])
還有選擇判斷式 while (TASK_READY != tasks[current_task = (current_task+1 >= task_count ? 0 : current_task+1)][-1]);
然後displays tasks
tasks = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
執行結果照理說會跑進去first()裡面call fork()
然後原本的tasks最後會是這樣的結果
tasks = {0x95cc, 0x7fcc, 0xb474, 0xc5cc, 0xd5cc, 0x0, 0x0, 0x0, 0x0, 0x0}
可是在執行de-bug的有時候會有
tasks = {0x95cc, 0x7fcc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
才執行第一個fork function if (!fork()) pathserver();
整個環境就卡著了//必須使用ctrl+c
重新取回控制權後在執行,不論是run或next都一樣會在度卡住
不曉得是否是我自己的問題?
還是有人也碰到類似的問題?