Newer
Older
TraceDebuggerExperiment / courseB / JHotDraw_Forward / problem1 / JHotDraw1_Forward_Delta.html
  1. <!DOCTYPE HTML>
  2. <html lang = "ja">
  3. <head>
  4. <title>課題B1 (接近過程抽出)</title>
  5. <meta charset = "UTF-8">
  6. <link rel = "stylesheet" type = "text/css" href = "../../../prettify.css">
  7. </head>
  8. <body>
  9. <h1>課題B1 (接近過程抽出)</h1>
  10.  
  11. <hr>
  12. <h2>接近過程抽出</h2>
  13. <p>
  14. </p>
  15.  
  16. <p>
  17. <p class = "explanation">
  18. 課題B1終了直後は下図のような状態になっているはずです.<br>
  19. 右上にあるパースペクティブを右クリックし, いったん「トレースデバッガ(順方向)」のパースペクティブを閉じてください.<br>
  20. <div class = "image"><img src = "./images/images_problem1_delta_pre/JHotDraw_1_delta_pre_02.png" class = "threeQuartersSize"></div>
  21. </p>
  22. <p class = "explanation">
  23. ここで, 「トレースデバッガ(逆方向)」のパースペクティブを開いてください.<br>
  24. <div class = "image"><img src = "./images/images_problem1_delta_pre/JHotDraw_1_delta_pre_03.png" class = "threeQuartersSize"></div>
  25. </p>
  26. <p class = "explanation">
  27. その状態のままで, ブレークポイントビュー上にある「ブレークポイントを取り入れる」をクリックしてください.<br>
  28. ブレークポイントを取り入れたら, ブレークポイントビュー上で下記2つのブレークポイントのチェックを外してください.<br>
  29. <ol>
  30. <li>&nbsp;&nbsp;98行目 DefaultDragTracker.mousePressed(MouseEvent)</li>
  31. <li>116行目 DefaultDragTracker.mousePressed(MouseEvent)</li>
  32. </ol>
  33. そのあと, デバッグ実行してください.<br>
  34. <div class = "image"><img src = "./images/images_problem1_delta_pre/JHotDraw_1_delta_pre_06.png" class = "threeQuartersSize"></div>
  35. </p>
  36. <p class = "explanation">
  37. 現在は, DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの118行目にいます.<br>
  38. まずは, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド transformedFigures が参照している HashSet に<br>
  39. RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を抽出して見ていきます.<br>
  40. ここで, ステップネクストを2回押してください.<br>
  41. <div class = "image"><img src = "./images/images_problem1_delta_pre/JHotDraw_1_delta_pre_09.png" class = "threeQuartersSize"></div>
  42. </p>
  43. <p class = "explanation">
  44. ここで, 変数ビュー上の「呼び出し後」を開いて, 引数を右クリックしてください.<br>
  45. 右クリックすると, ポップアップメニューが出てくるので, 「オブジェクトの接近過程抽出」をクリックしてください.<br>
  46. <div class = "image"><img src = "./images/images_problem1_delta_pre/JHotDraw_1_delta_pre_10.png" class = "threeQuartersSize"></div>
  47. </p>
  48. <p class = "explanation">
  49. 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.<br>
  50. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_01.png" class = "threeQuartersSize"></div>
  51. </p>
  52. <p class = "explanation">
  53. 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.<br>
  54. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_03.png" class = "threeQuartersSize"></div>
  55. </p>
  56. <p class = "explanation">
  57. 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側020」までを順番にクリックしてください.<br>
  58. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_04.png" class = "threeQuartersSize"></div>
  59. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_06.png" class = "threeQuartersSize"></div>
  60. </p>
  61. <p class = "explanation">
  62. 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側002」までを順番にクリックしてください.<br>
  63. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_07.png" class = "threeQuartersSize"></div>
  64. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_08.png" class = "threeQuartersSize"></div>
  65. </p>
  66. <p class = "explanation">
  67. 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.<br>
  68. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_10.png" class = "threeQuartersSize"></div>
  69. </p>
  70. <p class = "explanation">
  71. ここまでで, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド transformedFigures が参照している HashSet に<br>
  72. RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見てきました.<br>
  73. ここで, 課題B1の接近過程抽出は終了です.<br>
  74. 「オブジェクトの接近過程」ビューを全て閉じてください.<br>
  75. デバッグ実行を終了したら, この「トレースデバッガ(逆方向)」のパースペクティブを閉じてください.<br>
  76. <div class = "image"><img src = "./images/images_problem1_delta/JHotDraw_1_delta_11.png" class = "threeQuartersSize"></div>
  77. </p>
  78. <hr>
  79. <p>
  80. 課題B1の接近過程抽出が終了しましたら, 以下のアンケートにお答えください.
  81. <div><a href = "https://docs.google.com/forms/d/e/1FAIpQLSeNl_V5Dr7QIZEDQfCPGzhyDDgT89BfWc5k4Rp3LUlv2aBGwA/viewform" target = "_blank">アンケート回答</a></div>
  82. </p>
  83. <a href="../problem2/JHotDraw2_Forward.html">次へ</a>
  84. </p>
  85. </body>
  86. </html>