LoginSignup
2
2

More than 5 years have passed since last update.

NetBeans本体をデバッガで動かすまで (+ Mac向けNetBeans追加設定)

Posted at

NetBeans本体の挙動を知るためにデバッガで動かそうとしたのですが、少々ハマったのでここにメモっておきます。(追加設定については末尾参照)

用意するもの

  • Mercurial
  • JDK8
  • ant
  • NetBeans

作業のアウトラインは以下のページを参照してください。
http://wiki.netbeans.org/WorkingWithNetBeansSources

ソースの取得

スナップショットをzipで取得できそうな記述をどっかで見かけたのですが、見当たらないのであきらめてMercurialで取得します。リポジトリは前述のページを参照。

取得後のディスク使用量は4.4GB、当方の環境だと3時間くらいかかってます。

ビルドの実行

いきなりNetBeansでプロジェクトを開くとライブラリ不足等でコケるので、事前にビルドして必要なライブラリを取得しておきます。ビルドはトップレベルでantコマンドを実行するだけです。

ビルド時間はMacBook Air Mid2013(Core i7 1.7GHz + 8GB RAM + 256GB SSD)で
約15分+ライブラリダウンロード時間。(初回ビルド時の時間は計測してませんでした。1時間くらい見ておけば大丈夫?)

ビルド後のディスク使用量は6.0GB。

NetBeansへのプロジェクトの読み込み

リポジトリ内のプロジェクト数が1000を超える(!!)ので、うっかり全プロジェクトを読み込もうとするといつまでたっても終わりません。(←一度やらかした)

ターゲットのプロジェクトだけ開けば、「必須プロジェクトを開く」にチェックが入っていると(デフォルトON)、関連プロジェクトも一緒に開いてくれます。

Netbeansのデバッガで動かす

プロジェクトを読み込んだら、そのままNetBeansの「デバッグ」ボタン、もしくは「実行」ボタンを押せば、プロジェクト設定で仕込まれてるのか、開発版のNetBeansが起動します。

あとは普通のアプリと同様ブレークポイント等も使えます。ログは「出力」ウィンドウに出ます。追加の情報出力を埋め込みたければ、たいていのクラスにはLOG定数(Java標準logger)が定義されているのでこれを使えばよいでしょう。

おまけ

解析の結果、Mac OS Xでは、NetBeansの設定ファイルに以下の設定(JVMのプロパティnetbeans.editor.keymap.compatibletrueにする)を行うことで、option(alt)キーにショートカットを設定したときには特殊文字入力が無効になることがわかりました。

> diff -U0 "/Applications/NetBeans/NetBeans 8.1.app/Contents/Resources/NetBeans/etc/netbeans.conf"{.orig,}
--- /Applications/NetBeans/NetBeans 8.1.app/Contents/Resources/NetBeans/etc/netbeans.conf.orig      2015-12-19 10:21:02.000000000 +0900
+++ /Applications/NetBeans/NetBeans 8.1.app/Contents/Resources/NetBeans/etc/netbeans.conf   2015-12-20 16:58:06.000000000 +0900
@@ -46 +46 @@
-netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
+netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dnetbeans.editor.keymap.compatible=true"
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2