#15 Kotlinで学ぶデバッグの基本
Kotlinのデバッグは、Javaと同じくIntelliJ IDEAのデバッガー機能を活用するのが基本です。この記事では、Kotlinにおけるデバッグの基本的な方法を解説します。
println()でその場の状態を確認する
println("ageの中身: $age")
Kotlinでは文字列テンプレート(`$変数名`)がそのまま使えるため、Javaのように文字列連結を書かなくても、変数の値を手軽に確認できます。
IntelliJ IDEAのデバッガー
KotlinはIntelliJ IDEAとの相性がよく、ブレークポイントを設定して処理を一時停止し、変数の中身を確認する、というJavaと同じデバッグ手順がそのまま使えます。
「ステップオーバー」「ステップイン」「ステップアウト」といった操作もJavaと共通で、ラムダ式や高階関数の中に入って処理を追いたい場合は「ステップイン」を使うと、`map`や`filter`の中身がどう評価されているかを1行ずつ確認できます。
null許容型のエラーに注意する
Kotlinでよく遭遇するエラーに「NullPointerException」があります。null許容型を扱っている箇所で、値の確認を怠っていないかを重点的に見直すと、原因が見つかりやすいです。
val name: String? = null
println(name!!.length)
特に`!!`(非null表明演算子)を使っている箇所は要注意です。「絶対にnullではない」と自分で断言している部分なので、実際にnullが入っているとその場でクラッシュします。デバッグの際は、まず`!!`が使われている行を疑ってみるとよいでしょう。
ログ出力ライブラリを使う
本格的なアプリケーションでは、`println`の代わりにログの重要度(DEBUG・INFO・ERRORなど)を指定できるログ出力ライブラリ(kotlin-loggingなど)を使うのが一般的です。デバッグ用の出力を後から一括でオフにできる利点があります。
Kotlinならではの注意点
Kotlinはコンパイルの段階でnullの扱いを厳しくチェックしてくれるため、Javaに比べるとNullPointerExceptionが発生する場面は少なくなります。それでも発生した場合は、Javaのライブラリとやり取りしている箇所を疑ってみるとよいでしょう。Javaのコードはnull安全性の情報を持たないため、Kotlinから呼び出す際に想定外のnullが紛れ込むことがあります。
まとめ
Kotlinのデバッグは`println()`とIntelliJ IDEAのデバッガーが基本です。null関連のエラーが出たら、`!!`の使用箇所とJavaとのやり取りの部分を確認しましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
Kotlinをもっと学びたい方には「やさしいKotlin入門」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿