タグ

javaとdebugに関するimai78のブックマーク (9)

  • Eclipseのリモートデバッグ - kagamihogeの日記

    リモートデバッグとは、JavaVMプロセスとTCP/IP通信しながらデバッグを行う仕組みを利用したデバッグ手法を指します。 TCP/IP通信ですから、Eclipseが動作しているマシンとは別のマシンで動作しているJavaプロセスと通信してデバッグすることもできます。デバッグ対象は別OSでもいいですし、Eclipseが導入されている必要もありません。 より抜粋 俺は恥知らずなJava使いなので今までこの機能の存在知らなかった……ので、試す。書いてあることはEclipse wikiとほとんど同じことです。 こんな環境でやりました windows XP jdk 1.6.0_16 Eclipse 3.7 普通のJavaアプリケーション まずはEclipseでJavaプロジェクトを作って適当なクラスを作る。 public class Hello { public static void main(S

    Eclipseのリモートデバッグ - kagamihogeの日記
  • Eclipseデバッガ徹底解説 - Yamashiro0217の日記

    Java Advent Calendar -ja 2010 : ATND 11日目。昨日は、id:daisuke-m でした。 完全に Eclipse のこと書けとふられてる感じがしたので Eclipse について書く。 Eclipse の何について書こうかと考えたんだけど、先日、社会人になってからプログラム書き始めた弊社の若い子が、「デバッガ」の存在を知らなかったのでデバッガの基的な使い方などについて書く。 PHPというちょっとしたWebページをさらっと書くには素晴らしい言語だけしか知らないみたいだから、あんまりデバッガ使う文化が無かった模様です。 var_dumpデバッグェ…。 今回は初心者向け記事なので、基Java使い倒してる皆様は読まなくてよろしいが、Break Point Properties の Condition とかDrop To FrameとかExpressionの機

    Eclipseデバッガ徹底解説 - Yamashiro0217の日記
  • EclipseによるJavaアプリケーションのデバッグ

    再開(F8) 次のブレークポイントまでプログラムを実行します。図Aの状態から"再開"を実行すると、以下のように次のブレークポイントまでプログラムが実行されます。 ステップイン(F5) 次の1行を実行します。次の1行にメソッド呼び出しが含まれている場合は、そのメソッド内部に入った状態でプログラムが中断します。図Aの状態から"ステップイン"を実行すると、以下のようにcalcurateメソッドの先頭で停止します。 図B. ステップイン実行後 ステップオーバー(F6) 次の1行を実行します。次の1行にメソッド呼び出しが含まれている場合でも、そのメソッド呼び出しを終えた状態でプログラムが中断します。図Aの状態から"ステップオーバー"を実行すると、calcurateメソッドの呼び出しを実行し、次の行で停止します。 ステップリターン(F7) 今実行中のメソッドの実行を終えて、呼び出し元へ戻ります。図B

    imai78
    imai78 2010/10/06
    「条件付きブレークポイント」は知らなかった!
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • Debug Print Method (デバッグ出カメソッド) - Strategic Choice

    師曰くデバッグに役立つ情報を出力するためにtoString()を使用しなさい。どういうこと?ObjectのインターフェースであるtoString()は、オブジェクトの内容を文字列で表現する役割を担っています。オブジェクトを文字列で表現することには多くの理由がありえます。オブジェクトの内容をユーザーに見せたいのかもしれませんし、後で取り出せるように格納したいのかもしれませんし、あるいはオブジェクトの内部をプログラマに提示したいのかもしれません。これら複数の目的を一度に満たすことはできません。この中でも「プログラマのためのオブジェクト文字列表現」を作り出す用途でtoString()をオーバーライドします。他の目的で使用する文字列表現は、そのオブジェクトまたは別のクラス内で他のメソッドが返すようにします。どうして?高品質のデバッグ出力への投資にはレバレッジが存在します。デバッガでオブジェクトの内

  • JUnit/FindBugs/PMDなどを総観できるQALab/Limy

    便利なEclipseプラグイン集「Limy」とは 「Limy」というEclipseプラグインをご存じでしょうか。これは、コード支援機能やプロジェクトの品質管理機能、プロパティエディタやVelocityテンプレートエディタなどが含まれている便利なEclipseプラグイン集です。 今回は、Limy Eclipseプラグインに統合されているソフトウェアの品質レポートを生成する「QALab」の機能を利用したソフトウェア品質管理やLimy EclipseプラグインのQALab実行機能について紹介します。 ■さまざまな品質管理機能を一括実行/総観できる「QALab」 Javaで品質管理を行うツールとして、さまざまなツールが提供されていますが、それらを利用するには1つずつセットアップする必要があり面倒です。 ObjectLABにより開発されるQALabを利用すると、さまざまな品質管理ツールを一括して実行

    JUnit/FindBugs/PMDなどを総観できるQALab/Limy
  • デバッグ方法論 - 設計と実装の狭間で。

    吉岡さんが釣り糸を垂れているので、釣られてみるよ。 デバッグ方法論 と言っても、多分、僕の気力が続くのは、こんなトピックがあるよ、って事までかな。 細かい話が気になるって人達は、スターとか、ブクマとかで催促すると、 書く気になるかもしれないし、どっかの宴会で、続き喋れって言われれば喋るかもしれない。 前提として、Javaで書かれたコードをデバッグすると考えてクダサシ。 ある程度実行環境やコードの種類に依存しないデバッグの方法論ってのもあるんだろうけど、 僕が気付かないウチに、Javaに強く依存したデバッグの方法論を抱え込んでるって事もあるだし。 まず、デバッグと言う作業が、どの様な構造を持っていると、僕が理解しているか、書いてみる。 バグの定義 静的デバッグ 動的デバッグ フォースを感じる この4つだに。 ちなみに、コードを修正する事は、デバッグでは無いものとするよ。 それぞれは、作業手順

    デバッグ方法論 - 設計と実装の狭間で。
    imai78
    imai78 2009/04/03
    おそるべし
  • ログは、もっと立体的であるべきか。 - 設計と実装の狭間で。

    slf4jとlogbackに、魂を売り渡す勢いであります。 と言うのは冗談としても、何だか使い方が分からないけど、 Loggerのメソッドには、引数として存在しているorg.slf4j.Markerについて、考えてみたり。 現段階では、slf4jとlogbackを使ってる大きめのOSSプロダクトにおいて、 どんな使われ方をしてるかちゃんと見てないので、妥当な使い方なのかは、微妙。 まぁ、僕なら、こんな風に使ってみるよ、と言う感じのエントリ。 slf4j使おうって人達が、使い方を考える時のとっかかりになればいいかな…とか。 まず、org.slf4j.Loggerの、Markerを引数に取るメソッドの宣言と、org.slf4j.Markerの宣言を抜粋してみるよ。 public interface Logger { public void debug(Marker marker, String

    ログは、もっと立体的であるべきか。 - 設計と実装の狭間で。
  • Javaの実行をたどる5つ以上の方法

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Javaの実行をたどる5つ以上の方法
  • 1