2009-11-23[月] ひさびさにD言語
ひさびさにD言語を触ってみました。
まあ、Goの影響です:-)
ただ問題はデバッガ. とりあえず dmd2 2.036, dmd1 1.051 入れて、
Ddbg
Ddbgは本家のダウンロードページにある
v.0.11.3beta をダウンロード。 普段はIDEから使うだろうで、その場合は大丈夫でしょうが、 一応、dmdコンパイル・デバッグ時に pathの通ってるフォルダに インストールしておくのが無難な気はします. (というか以下、パス通した状態で設定してるので、下記ideの設定で パス抜けの可能性もなくはなく) Eclipse+DescentEclipse+DescentでのD環境は、Descent本家とかこのへんとか見ながら設定. 試してみると、EclipseのC環境(cdt)とかに比べるといかにも無理やり間借してる感じで、ちょっとわかりにくいです。 IDE本来の設定項目名の場所でなく、 外部ツールとしてdmdリビルドツールを登録、という形になるので、 ソース依存関係や構成の管理はIDE側じゃなく、 登録するツール任せ。 なので、RebuildやBud等のD専用リビルドツール使うのがベターってことのよう (面倒でよければ自分でmakeなりバッチなり書くのでも). デバッグ実行は、生成されたexeファイルの右クリックメニュー の'デバッグ'の中のAplication1とかを実行. (他のメニューのデバッグを押してはだまされたり:) eclipse自体に慣れていないので、適切かどうかは別として なんとかデバッグ実行できるようにはなりました。 で、一応、
ができてそこそこな感じなんですが、 ウォッチ・ポイント(データのブレークポイント)が貼れない... Ddbgのコマンド一覧見ても(またソースでgdbのwatchコマンド探しても) 無かったので、Ddbg自体が未対応のようなんでしょうね。 他にも変数表示がおかしい場合があるとかバグもちょこちょこあるようで、 あともう少しなんとかなってほしい感じなんですが... Ddbgの開発一年以上とまってるぽいのがなんとも残念.
Code::blocksCode::Blocksはdmd対応なんで、 最初からほとんどそろってますが、dmd実行パスとかデバッガ(ddbg)の 設定等、やり直してあげる必要が何箇所かあります。 (以下、dmd自体はデフォルトのc\dmdかc:\dmd2にインストールされているものとして)
また、使用したnightybuildの場合、D1,D2用2つのパス設定が かかれてましたが、 実際に登録したdmd.exeに対応する版のみにして使わないほうは削除.
さすがに対応ソフトなので、素直に操作できます。 最初、変数表示が watch(監視)ウィンドウで行えることに気づけずてっきりないのかと はやとちりしてましたが、あったので安心. (IDE ドッキングできていい感じ). (ただ watchpoint=データ・ブレークポイントは, ブレークポイント・ウィンドウで 設定できますが、Dではやっぱり機能していませんでした) winでD2したかったので dmd + ddbg でしましたが、 D1でよければ gdc + gdb(gdc対応?版) という選択もあり... 面倒なんで手がまわりませんが。 ldc とか D.net とかもあって、どんな感じになってきてるのでしょうね. D.netは、以前試したときは、 D.netコンパイラ自身のコンパイルはすんなりすんだけど、 .netの事情わかってないので (単純すぐにvs環境で使えるわけじゃないようで) リッチなのかプアなのかよくわからず. |