タグ

Javaとdebugに関するcactusmanのブックマーク (5)

  • YouDebug -

    What is YouDebug? Here is the problem; your program fails at a customer's site with an exception, but you can't (or don't want to) reproduce the problem on your computer, because it's too time consuming. If only you could attach the debugger and collect a few information, you can rapidly proceed on fixing the problem. But running a debugger at a customer's site is practically impossible; if the us

  • 非対話的デバッガ YouDebug - 川口耕介のブログ

    バグ修正はプログラマの仕事の一つですが、このうちのかなりの時間は問題を再現することに費やされます。 症状からバグの全容が推察できる時もあるのですが、多くの場合には、手元で問題を再現し、更なるデータを集めることによって始めてバグが理解されるからです。しかし、環境に依存する問題などは再現が難しい場合もあります。どうしたらよいでしょうか。 ロギングというのがよく行われる解決・予防策ですが、「デバッガを走らせて変数xの値を教えてくれればいいのに!」と思った事があるのは私だけではないと思います。ロギングと異なり、デバッガは予めプログラムに障害発生を予期するコードを埋め込んでおく必要はありません。また、呼び出し元のローカル変数をアクセスしたり、任意の式を評価したり、あるいは変数の値を変更することもできてしまいます。当たり前ですが、障害分析ツールとしてはデバッガはずっと強力だからです。 ではなぜユーザー

    非対話的デバッガ YouDebug - 川口耕介のブログ
  • JVMをネイティブコードレベルでデバッグ - 川口耕介のブログ

    先日、JVMをネイティブコードのレベルでデバッグしないといけなくなったので、このブログはそのメモです。例によって、僕はJVMチームの一員じゃありません。もし、よりよい方法をご存知の方は教えて下さい。 さて、これをやるはめになったのは、MavenをHudsonからある特定の方法で起動するとMavenがハングする、というバグが懸案になっていたからです。デバッグを長くやっていると、誰しもある種の勘というかそういうものが身についてきて、これは性質の悪い、下位レイヤからくるバグだというのが分かる時がありますが、これはそういうバグでした(当はそんなアナログなものじゃなくて、脳内で症状に合致する仮説を組み立てようとした結果、妥当な仮説が存在しないというか、もっと検索的な感じなのですが)。 デバッガサポートをつけてJVMを起動するとバグは再現しないし、jconsoleをアタッチするとその途端に生き返り、

    JVMをネイティブコードレベルでデバッグ - 川口耕介のブログ
  • Eclipse でデバッグコードをクリーンに追加する Bugdel プラグイン - なるとブレイク

    Bugdelプラグイン - CoolなEclipseプラグイン(8) Bugdel は、通常のソースコードを汚さずにデバッグコードを追加できるプラグインです。 Bugdel プラグインのいいところ。 Bugdel エディタで Java のソースコードを開くと、いろんな位置にデバッグコードを埋め込めます! デバッグコードは Javassist でクラスファイルに埋め込まれるので、ソースコードは変更されません! デバッグコードを埋め込んだクラスファイルは、普通のクラスファイルなので、普通に実行できます! Bugdel のダウンロードは Bugdel Home Page からできます。 Bugdel Home Page (大量のデバッグコード記述の支援) インストールする前に使った感じがわかる Flush ムービーも公開されてます。 Bugdel Demo Javassist について詳しく知り

    Eclipse でデバッグコードをクリーンに追加する Bugdel プラグイン - なるとブレイク
    cactusman
    cactusman 2008/05/15
    Bugdelプラグイン
  • ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT

    ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) マルチスレッドのトラブルハックはさっぱり分からない… 対処が難しいトラブルといえば、GC(ガベージ・コレクション)とマルチスレッド処理に起因することが多い。 前々回(「肥え続けるTomcatと胃を痛めるトラブルハッカー 」)と前回(「JavaのGC頻度に惑わされた年末年始の苦いメモリ」)の2回にわたってGC、特にメモリ周りのトラブルを取り上げた。そこで今回は、マルチスレッド処理のトラブルの1つ、「レースコンディション(競合状態)

    ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT
  • 1