2017-01-25 6 views
1

私の教科書には、以下の請求を行いますプログラムのデバッグを開始すると、プログラムはメインメモリから(セカンダリメモリに)スワップアウトされますか?

ユーザーはプログラムのバグを疑う場合は、彼または彼女は、その実行を中断検討、およびプログラムやデータを変更し、実行を再開することにより、プログラムをデバッグすることがあります。

ここで、suspendとは、メインメモリから2次メモリにスワップすることを意味します。

たとえば、私がC/Python/Javaプログラムをデバッグするとき、プログラムはその時点でメインメモリからスワップアウトされていますか?あるいは、著者が言っていることを誤解していますか?

+0

Cプログラムをデバッグするときに、何が起こっているのかを見ることができるので、それはCPUの中でまだ実行中です。したがって、それは 'メインメモリ 'にあります。 –

+0

@TonyTannousレスポンスありがとう。だから教科書の主張は間違っていますか? –

+0

私は彼らがあなたの目でそれをデバッグすべきということを意味したと思いました。テキストエディタで開き、プログラムのチェックを開始します。デバッガではありません。 おそらく私は間違っています...もっと反応を待ってください。 –

答えて

0

デバッグには、プログラムのスワップアウトは含まれません。デバッグ中の "サスペンド"は、通常、BREAKPOINT命令をストリームに強制することによって発生します。これにより、オペレーティングシステムのBREAKPOINT FAULTハンドラがトリガされます。デバッガとアプリケーションの実際の接続は、オペレーティングシステムによって異なります。

プログラムが2次ストレージにスワップされた場合、そのメモリ使用量を調べる方法はありません。

関連する問題