编辑:我的计算机设置似乎有问题。在另一台计算机上运行它就可以了。
基本上,当我尝试在gdb中调试我的代码时,某些东西导致两行重复两次而没有任何通知正在切换线程。这是两条简单的线条,没有包裹在任何循环中。是否有任何暗示可能导致这种情况发生的原因?
//gdb session
170 int signum = curr->num;
(gdb) n
171 signal_handler handler = kthread->userContext->handlers[signum - 1];
(gdb) n
170 int signum = curr->num;
(gdb) n
171 signal_handler handler = kthread->userContext->handlers[signum - 1];
(gdb) n
//Actual Code, not in loops
int signum = curr->num;
signal_handler handler = kthread->userContext->handlers[signum - 1];