タグ

debugとJavaに関するclavierのブックマーク (11)

  • OutOfMemoryError の調べ方 - Qiita

    OutOfMemoryError (以下 OOME)が起こったときにお手上げ状態にならないためにも、 Java のメモリ管理の仕組みとか、 OOME が起こったときの調査方法とかを調べる。 環境 OS Windows 7 > java -version java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも J

    OutOfMemoryError の調べ方 - Qiita
  • Javaのログ出力: 道具と考え方

    DevLOVE X Day1 C-5のセッションです。 ITの活用範囲の広がりとともに、費用・品質よりもデリバリを優先するプロジェクトも増えてきました。しかし「しっかり考えるよりも、作ってリリースしちゃおうぜ、正解なんて誰にも分からないんだから」というマントラを唱えながら、返済見込みの立たない大量の技術的負債を抱える。それが最善の選択なのか、もう少しだけ立ち止まって考えてみませんか? YAGNIという言葉を便利に使いすぎてはいませんか? コードを書きなぐるのと、ちょっと考えて設計して作るのとで、そんなに開発スピードに違いがありますか? 考えてみたいと思います。

    Javaのログ出力: 道具と考え方
    clavier
    clavier 2015/10/15
    Javaのログ出力: 道具と考え方
  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Java: 本番環境でのデバッグスキルを磨く - ワザノバ | wazanova

    https://www.youtube.com/watch?v=7KS4L-mA_-c 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 Takipi のFounderであるTalWeissのSan Francisco Java User Groupミートアップでの講演。番環境で役に立つデバッグテクニックの紹介です。 1. スレッド名の活用 スレッド名はmutable(EJB除く)である。コードのコンテキストにあわせて、Thread.currentThread().setName(Context, TID, Params, Time,...);のようにすれば、トランザクションID、Serveletパラメータ、キューメッセージID、起動時間など、スタックトレースに役に立つ情報を表示できるようになる。 J

    clavier
    clavier 2015/01/18
    Java: 本番環境でのデバッグスキルを磨く - ワザノバ | wazanova
  • Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4

    JJUC-CCC - Japan Java Users Group Cross Communiy Conference - 2016 Spring 講演資料。 テスト、書いてますか?はい、我々は書いていませんでした。しかし今は違います。将棋の駒を動かすかのように一手ずつテストを書き進めるための戦術と戦略のようなものを、お話しできればと思います。このセッションは同じチームの同僚による昨年秋のセッション「JJUG-CCC 2015 Fall CD-2 Java8移行から始めた技術的負債との戦い」の続編のようなものです。

    Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
  • Eclipseデバッガを活用する31のTips - Fly me to the Luna

    Eclipseデバッガを活用するための31のtips from Hiroki Kondo speakerdeckに貼ろうかどうか迷ったけれども、どこかで話したわけではないのでslideshareに。 Eclipseのデバッガを活用すると開発が捗ります。自宅ではIntelliJを使い始めてみて、さくさくコードが書ける事を体感しているのですが、デバッグはEclipseの方がやりやすいです。で、自分の知っているノウハウをチームで共有するために作りはじめたんですが、広くみんなに公開したほうがいいと思っておすそ分け。調べてみると、結構知らなかったネタがゴロゴロでてきました。Run to Lineとかお手軽で強力な機能だと思う。 「こんなネタ知りたい」とか、フィードバックを是非お寄せください。調査して追記していきますので、コメントとかよろしくお願いします。

    Eclipseデバッガを活用する31のTips - Fly me to the Luna
  • Eclipseデバッグ効率化!無駄なステップ実行を減らす「Step Filter」の設定方法

    Eclipseの「Step Into」の挙動が設定によって変更できることを知っていましたか? 今回は、「Step Into」を始めとする「Step実行」の挙動を変更する「Step Filtering」の設定方法と利用例を紹介します。使えるかも、と思ったら人は、ぜひ導入を検討してみてください。 目次 1. 「Step Into」とは2. 「そこに潜らなくてもいいのに!」3. 解決策:Step Filtering3.1. 有効化3.2. フィルタ設定3.3. その他の設定4. 使い方5. 設定例1:どうでもいい標準ライブラリのコードに飛ばないようにする5.1. 問題5.2. 対策:無視するクラスを設定する6. 設定例2:ClassLoaderへのStep Intoを回避する6.1. 問題6.2. 対策:ClassLoaderをフィルタする7. 設定例3:単純なgetter/setterを無視す

    Eclipseデバッグ効率化!無駄なステップ実行を減らす「Step Filter」の設定方法
  • 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の日記
  • 「実演テスト駆動開発」 WEB+DB PRESS Vol.35特集 特設サイト

    WEB+DB PRESS Vol.35の特集1「実演!テスト駆動開発」の特設ページです.テスト駆動開発(TDD)の実演ムービーや誌面サポート情報などを掲載しています. 更新履歴 2006年10月24日 実演ムービーの追加 タスク2「サーブレットのアクセスURLからDAOの名前を抽出する」の実演ムービー3を追加しました. 環境構築ムービーの追加 Subversion環境の構築ムービー3を追加しました. 補足情報の追加・変更 第2章~第8章の各章終了時点でのサンプルコードを公開しました.また,すでに公開済みだった第8章完全版のコードも差し替えましたので,お手数ですが再度ダウンロードしてください. 補足情報の追加 「テストフィルタ機能,受け入れテスト実行の自動化機能について」を追加しました. 補足情報の追加 「著者のEclipseテンプレートを公開!」を追加しました. 誌面訂正情報の掲載 第

  • 【ハウツー】Javaアプリデバッグ今後の姿? コード不要でロギング - LimpidLog 1.0 (1) コーディング不要? | エンタープライズ | マイコミジャーナル

    Java 1.5に導入されたjava.lang.instrumentパッケージの機能を活用すると、実行時にJava仮想マシンからさまざまな情報が取得できる。たとえば、実行時にクラスの情報を取得する、などだ。 最大の特徴は、java(1)コマンド実行時に-javaagentオプションを使ってJarファイルを指定すればそれがエージェントとして動作し、来のプログラムには一切手を加えることなく目的を達成できる点にある。 java.lang.instrument、とくにInstrumentationを活用した場合、実行時にシステムのモニタリングを実現できる。簡単なものではロギングシステムなどがあり、高度なものでは包括的なシステム監視およびパフォーマンス分析ツールなどがある。ここでは簡単なロギングシステムを実現するプロダクトとしてLimpidLogを紹介する。現バージョンでこのアプリケーション単体で

  • 【レビュー】絶対使うべき! FindBugsでBug退治 (1) FindBugsとは | エンタープライズ | マイコミジャーナル

    Javaソースコードの不具合やスタイル違反を発見するためのツールとして、PMD、Lint4j、Jlint、Checkstyleなどいくつかのものがある。ここではそうしたツールのひとつとしてFindBugsを紹介したい。ほかのツールと比べても強力で、Java開発において是非導入したいツールアプリケーションである。 FindBugsとは FindBugsはJavaコードにおけるバグを発見するためのツールアプリケーション。ソースコードではなくコンパイル後のクラスファイルを解析することで、ソフトウェアの不具合や問題点を発見するツールで、単体で実行し解析結果をテキストやXMLデータとして出力できるほか、Eclipse IDE、NetBeans IDE、Ant、Maven、SCAといったツールと連携しながら動作することもできる。 FindBugsはスタイルチェッカーではないし、セキュリティ問題を発見す

  • 1