CS50 IDE Debugger
今日はPset3のbubble sort, selection sort, insertion sort, merge sort 及びDebuggingのビデオを見た。
Terminal windowでdebug したい時はgdbというコマンド(debugger?)を使用するらしい。当面は使わないだろうけど。
CS50 IDEにはgdbより遥かに便利なDebuggerが装備されているので、CS50 IDEを使っている間はそちらを活用しよう。
CS50 IDE Debuggerの使い方
Debug buttonを押すと始まる。
1. break point
- コード中のbreak point(pause execution of the program there)にしたい行の数字の左側をクリックすると、赤い●が現れその行がbreak pointとなる。
- main functionでない、その他呼ばれないfunction内でbreak pointを指定しても(関数が呼ばれないため)pauseされないので注意。
- break pointは複数指定することができる。
- break pointの指定後、Debugボタンを押す
→指定した行が黄色でハイライトされる。
※ハイライトされた時点ではまだ実行されていない
右上のアイコン群の一番左が、pauseではなくresumeボタンに変化している。これは、この行でexecution がpauseされたことを示している(クリックすると再開できる)。break pointは再度クリックすることで削除できる。
2. Step over/into
- Step over: 次の行に進み、そこでpauseする。for loopがある場合、逐一loopingでき便利
- Step into: 指定した行に進む(そこでpauseする)。
3. その他
- Call Stack: break pointのより詳細な情報が載っている。Function: 今いる関数、Script: スクリプト名、Ln: line, Col: column.
- Local Variables: all of the variables that exist within this functionが表示されている!(even before they’re definedでも表示されるらしい…)
- Local Variableの中身(数字)は、double clickをすると自分で指定することができる!試しにこの値を代入したらどうかな?という場合に有効。