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をすると自分で指定することができる!試しにこの値を代入したらどうかな?という場合に有効。