5

gdbでvlcを実行していて、^Zを使用して中断しました(^Cが機能していなかったため)。いくつかのスタックフレームと変数を調べた後、「cont」を使用してプログラムを再開しようとしましたが、それは私に与え続けました

Program received signal SIGTSTP, Stopped (user). 
[Switching to Thread 0x7fffd8d8e700 (LWP 19285)] 
0x00007ffff700247c in pthread_cond_wait@@GLIBC_2.3.2 ()
    from /lib64/libpthread.so.0

実は最初の行だけが同じでした。LWP id は 19285 と 19284 の間で循環し、アドレスと機能も交互に入れ替わっていました。

「cont -a」を試してみましたが、オールストップモードでは「-a」は無意味です。

両方のスレッドを再開する適切な手順は何ですか?

4

2 に答える 2

4

"cont" を十分な回数 (スレッドごとに 1 回) 呼び出すとアプリケーションが再開されますが、^Z から再開するのに最適なのは

signal SIGCONT

最初に「cont」を試み、次に「signal SIGCONT」を試みると、gdb が奇妙な状態になる可能性があることに注意してください。

于 2013-02-20T22:13:37.743 に答える