我正在研究項目Ubuntu Linux
,當我使用GDB
調試應用程序並中斷CTRL + Z
時,我得到SIGTSTP
和GDB
正如預期的中斷。爲什麼每次使用'cont'命令時,在gdb中運行時,一個CTRL-Z會一直髮送SIGTSTP信號?
但是當我後,使用cont
,我仍然有SIGTSTP
,我再說一遍cont
了很多時間,但接縫它只是行爲相同,只是一再給我SIGTSTP
。
以下兩個呼叫棧或者重複:
The call stack is as following alterativly:
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0x7fffef73d700 (LWP 32591)]
0x00007ffff636dffd in read() from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff636dffd in read() from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff6301ff8 in _IO_file_underflow() from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff630303e in _IO_default_uflow() from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff62f718a in _IO_getline_info() from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007ffff62f606b in fgets() from /lib/x86_64-linux-gnu/libc.so.6
... .... .... ....
#11 0x00007ffff664ee9a in start_thread() from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00007ffff637b3fd in clone() from /lib/x86_64-linux-gnu/libc.so.6
#13 0x0000000000000000 in ??()
(gdb) c
Continuing.
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0x7fffeef3c700 (LWP 32592)]
0x00007ffff6374763 in select() from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff6374763 in select() from /lib/x86_64-linux-gnu/libc.so.6
... ... ... ...
#6 0x00007ffff664ee9a in start_thread() from /lib/x86_64-linux-gnu/libpthread.so.0
#7 0x00007ffff637b3fd in clone() from /lib/x86_64-linux-gnu/libc.so.6
#8 0x0000000000000000 in ??()
所以任何原因是什麼?謝謝。
但接縫Ctrl + C不能在我的linux終端上工作。它什麼都不做。任何可能的原因? – ZijingWu
你可以檢查終端的鍵盤綁定嗎?我想這個選項已經被別人使用。這是不確定的。由於複製的默認映射也是Ctrl + Shift + C。 – user3079864