情報理工・情報通信 プログラミングA(前半)

環境インストール

VSCode上でのデバッガ(Debugger for Java)の使い方

準備編 - デバッグ用拡張機能のインストール

1) 画面の左側に5つのアイコンが並んでいるはずなので、 一番下のアイコンをクリックして拡張機能の管理画面を開く (ショートカット: ctrl + shift + x)

2) 開いた画面の上部にある検索バーに java pack と入力し、 検索結果から Java Extension Pack という項目をクリック

3) インストールボタンをクリック

4) しばらく待つと再読み込みボタンが出てくるので、クリックしてインストール完了

実行編

1) ソースコードを保存するための空フォルダを開く (ショートカット: ctrl + k ctrl + o)

2) メニューバーから ファイル -> 新規ファイル を開いてjavaファイルを作る (ショートカット: ctrl + n)

  • 左側のエクスプローラーにマウスを持って行くとフォルダ名の横にアイコンが表示されるので、そこから新しいファイルをクリックしてもOK

3) メニューバーからデバッグ -> 構成の追加をクリックし、表示されたバーでJavaを選択

4) launch.jsonというファイルが作られたのを確認

  • このファイルはデバッグの設定が書かれたもの
  • このファイルがないまま後述するデバッグの実行をした場合、自動的にlaunch.jsonが生成される

5) メニューバーからデバッグ -> デバッグの開始をクリックするとデバッグモードでプログラムが実行される (ショートカット: F5)

標準入力を使うプログラムをデバッグするときの注意

自動生成されたlaunch.jsonの設定では標準入力が使えないため、 標準入力を利用するプログラムをデバッグする際には launch.jsonを編集する必要がある。

具体的には

   "console": "internalConsole"

となっている箇所を

   "console": "integratedTerminal"

に変更することで、下画面のターミナル上で標準入力を使った対話的なプログラムの実行ができるようになる。

Tips

同じフォルダ内で複数のjavaファイルがある場合に、デバッグする対象を切り替えたい

launch.json内のmainClassという項目を、デバッグしたいmain関数が含まれるクラス名(≒ファイル名)に書き換える。

例) Javaフォルダ以下にHello.javaを作ってデバッグした後、同じフォルダ内でCalc.javaを作成・デバッグしたい場合
(どちらのファイルにもファイル名と同名のクラスが定義されており、さらにそのクラス内でmainメソッドを定義しているものとする)

launch.jsonを開き、

   "mainClass": "Main",

となっている箇所を

   "mainClass": "Calc",

に書き換える。

その後、メニューバーからデバッグ -> デバッグの開始 をクリックすると、 Calc.java内のmain関数が実行される。

ファイル名を変えたらデバッグができなくなった(could not find or load class ~ と表示される)

まずは、これを試して解決しないかを確かめる。

それでも解決しない場合は、以下の2つのどちらかを試す。

A.簡単な修正方法

変更前のファイル名で新しく空ファイルを作りなおす。

B.複雑な修正方法

1) launch.json内でconsole: integratedTerminalを指定した後、デバッグを実行して失敗させる。

2) ターミナルに表示されているコマンドから、 -cp の後に続く C:\...\binと表示されているパスを 末尾の \binの部分を除いて コピーする。

2) メニューバーのファイル -> ファイルを開く から、先ほどコピーしたパスに移動して、 .projectというファイルを開く。

3) 変更前のファイル名が書かれているlinkタグを探し、削除する。

例) Main.javaCalc.javaにリネームしてしまい、デバッグに失敗した場合

   <linkedResources>
       <link>
           <name>src\Calc.java</name>
           <type>1</type>
           <location>(省略)\Calc.java</location>
       </link>
       <link>
           <name>src\Main.java</name>
           <type>1</type>
           <location>(省略)\Main.java</location>
       </link>
   </linkedResources>

となっているはずなので、src\Main.javaが含まれているlinkタグを削除する。

   <linkedResources>
       <link>
           <name>src\Calc.java</name>
           <type>1</type>
           <location>(省略)\Calc.java</location>
       </link>
   </linkedResources>

A, Bのどちらかを実行することで、正常にデバッグが可能になる。

それでも解決しない場合は、TAに相談すること。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-03-28 (木) 18:06:24 (1848d)