タグ

debugに関するtarchanのブックマーク (74)

  • Java EEサーバからレスポンス返らず。何から調べる?

    今回は、Webシステムの代表的な問題の1つとして、Java EE(J2EE)サーバのプロセスのハングアップが発生した場合を取り上げる。こういった場合、IT情シス・SE/プログラマがどういった流れで問題解決をしていくべきか。その手順について話をうかがったので、その内容を紹介する。 現象の見え方 今回は、以下の問題についての話だ。 問題解決への流れ 通常のプロセスハングアップが発生した場合、設定によっては、Java EEサーバのハングアップを検知して、自動的に障害資料採取およびサーバの再起動が実施される。しかし、このような設定を行っていない場合は、どうすればいいのだろうか。手動で障害資料を取得してから、サーバの再起動を行う必要がある。 プロセスハングアップ時に必要な障害資料は、OSの統計情報やJava EEサーバのログ・トレース、スレッドダンプだ。 スレッドダンプ 特に、スレッドダンプはハング

    Java EEサーバからレスポンス返らず。何から調べる?
  • @IT:低負荷なのにCPU使用率が100%

    今回のワンポイント アプリケーション・サーバ上でアプリケーションを稼働中に、大きな負荷がかかっていないにもかかわらず、CPUの使用率が100%になってしまうときがある。こんなときに役立つのは、スレッドダンプだ。スレッドダンプは、実行中のスレッドスタックを取得できるため、そのとき何が起きているのかを解析するには最適である。スレッドダンプの結果、原因は、java.ioパッケージ内のクラスの使い方による問題であることが判明した。これは、一般にも多く作成されているであろうダウンロードやアップロード処理で見掛けるコードの一部でもある。今回は、トラブル発生時の原因究明に役立つスレッドダンプの解説と、問題の原因となったjava.ioパッケージの使い方が引き起こす、非常に特定しにくい事象について紹介する。 低負荷なのに、CPU使用率100% アプリケーションに大きな負荷をかけていないのに、突然CPU使用率

    @IT:低負荷なのにCPU使用率が100%
  • DirectX Graphics フルスクリーンモードと窓使いの憂鬱: 解決編 - NyaRuRuが地球にいたころ

    サークルで作成しているゲームについて「フルスクリーン環境で実行した後にゲームを終了すると一般保護違反が発生する」という症状が報告されて,色々調べてみたところ原因は『窓使いの憂』にありました.どおりでこちらの環境で再現しなかったわけです.実際『窓使いの憂 Ver.3.30』を常駐させることで問題を再現できることを確認しました. 多くの場合こういう現象は「相性問題」という便利な言葉で真実に蓋をされてしまいがちですが…たまには「解」でもご覧あれ. すんません,これ「相性問題」でした.今更ながらにコールスタックを眺め直していたら,こちらのゲーム側に Win32 ウィンドウのリークがありそうな気がしてきて実際ソースを読み直したらまさにその通りだったという…… 『窓使いの憂』を一方的に原因扱いしてしまって申し訳ありません.また,以前質問を受けたときに気付けていれば id:applet_at_h

    DirectX Graphics フルスクリーンモードと窓使いの憂鬱: 解決編 - NyaRuRuが地球にいたころ
  • Javaでデバッガがブレークポイントで止まらない - Yamashiro0217の日記

    Javaでデバッガがブレークポイントで止まらない」現象に僕の周りでハマってる人が割といました。まぁ、Eclipse以外でもそうだと思うのですが、とりあえずEclipse環境で。 で、twitterなどで教えてもらったのですが、 sun の jdk の 1.6.0_14 〜 15 で デバッグの問題 Java ™ Virtual Machine Tool Interface (JVM TI) のブレークポイントは、並列スカベンジガベージコレクタ (-XX:+UseParallelGC) または並列圧縮ガベージコレクタ (-XX:+UseParallelOldGC) が使用されている場合のみ信頼できます。 というリリースノートが。 http://java.sun.com/javase/ja/6/webnotes/6u15.html というわけで、デバッガ起動時にこのオプションを付けてあげれば

    Javaでデバッガがブレークポイントで止まらない - Yamashiro0217の日記
    tarchan
    tarchan 2009/10/29
    デバッガあんまり使わないなー
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • エラーが取れない - masakihの日記

    Quick Look pluginのデバッグには/usr/bin/qlmanageってのを使うらしいです。もちろん使ってます。 で、これをサムネイル作成対象があるディレクトリ上で $ qlmanage -t -c "com.masakih.xspf" -g "Path/To/PlugIn" * ってやると、普通にサムネイルが出来る。 $ qlmanage -p -c "com.masakih.xspf" -g "Path/To/PlugIn" * ってやると普通にプレビューが出来る。 が、Finder上でCover Flowを使うと、10.5でも10.6でもコンソールにエラーを吐く。 エラーの内容は微妙に違う。 どうしろと? gdbでFinderにアッタチして調べるしかないのかな? 面倒くさいな。 つか、やっぱりCover Flowは何か変な事してると思うよ。

    エラーが取れない - masakihの日記
  • リバースエンジニアリングに挑戦したい! 最低限必要なものは? - KENJI’S BLOG

    OllyDbg Windowsで普通のアプリを動的解析したい! Stirling バイナリを直接編集したい! BZエディタ GB(ギガバイト)レベルのファイルのバイナリも楽に編集したい! IDAPro Free版 Windowsで静的解析がしたい! IDAPro Demo版 x86以外のCPUも解析したい!(ARMとか) WinDbg Windowsのカーネルみたり、ダンプファイルみたりしたい! もちろん普通のデバッガとしても使いたい。 jad javaのクラスファイルを逆コンパイルしたい! Reflector .NETの実行ファイルを逆コンパイルしたい! Flashデコンパイラ集 Flashを逆コンパイルしたい! radare 安定してないけどppcとかも解析したい! あとshellcodeも書きたい! nasm 64ビットも読みたい! あとは環境に合わせて…、例えばUNIX系ならgdb

  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
  • 【ハウツー】Webデバッガに新星登場!? 操作を記録し、イベント/DOMを一発解析 - FireCrystal (1) FireCrystalとは | エンタープライズ | マイコミジャーナル

    複雑な機能をいくつも実装したWebアプリケーションのデバッグはツールなしでは一苦労だ。Ajax処理やこまかいイベント制御・DOM操作をおこなっている箇所でバグを出してしまった日には、解析だけで大変な時間を割かなければならない。 そんなときは、FireCrystalを使えば解決するかもしれない。ユーザの操作を記録し「どのタイミングで」「なにがおこなわれているか」を一発で表示してくれる便利なアドオンだ。 稿では、そのFireCrystalについて紹介しよう。 FireCrystalとは Stephen Oney氏は8月21日(米国時間)、Firefox上で動作するアドオン「FireCrystal」をリリースした。FireCrystalはThe MIT Licenseのもとで公開されている、Webデザイナ・デベロッパ向けのデバッガ。Webページ上でユーザの操作を記録し、内部でどのようなイベント

  • PHPカンファレンスで「PHPを見える化する」を発表しました

    10th PHPカンファレンスで発表してきました! photo by lllnorikolll まず、こういった発表の機会を与えて下さった実行委員会の皆さんにお礼を言いたいと思います。ありがとうございましたm(_ _)m また、拙い発表を聞いて下さった皆さんありがとうございました。いくつか反応を頂けて、とても嬉しかったです。 PHPカンファレンスでの発表は、目標としていたところだったので、檀上に立った時は緊張と共に感激していました:-D 発表では、初めはふわふわした感じで正直結構緊張していたのですが、途中からはわりと落ち着いてきました。スライドが抜けていたり、プロジェクタの表示が左端が切れていたり、時間が足りなかったりはあったのですが、最後は笑って貰えたので良かったです:-D 当はプロファイリングをもっと解説したかったのですが、時間が足りず、すっ飛ばしました。。。プロファイリングツールの

  • 第2回 「あなたを、犯人です」 ─ デバッグという名のミステリー | gihyo.jp

    Linuxに代表されるオープンソースソフトウェア(OSS)は、文字通りソースコードを公開していることが最大の特徴です。ソースコードが企業秘密のベールに覆われている伝統的な商用ソフトウェアでは、ソースコードにアクセスできる開発者とコンパイル済みのバイナリファイルしか利用できないユーザは厳格に区別され、ユーザがソフトウェアに不具合を見つけても、開発者がそれに対応してくれるまでは指をくわえて待つしかありませんでした。 一方、ソースコードが公開されているOSSの世界では、ユーザと開発者がソースコードという同じ土俵の上で互いに切磋琢磨することができます。今回はそのような例として、ソースコードの不具合を見つけて修正した例を紹介しましょう。 今回取りあげるソフトウェアはfile-rollerという GNOME用の書庫ソフトウェアです。 file-rollerとは file-roller とは、GNOME

    第2回 「あなたを、犯人です」 ─ デバッグという名のミステリー | gihyo.jp
  • Emacs で Java アプリケーションをデバッグする—ありえるえりあ

    Emacs で Java アプリケーションをソースレベルデバッグするのはいろいろ手を加えないとダメだと思っていたのですが、 Emacs 22.1 の gud.el と gdb-ui.el あたりを注意深く読んでいるとどうもそうでないということが分かり、実際にやってみたところ稚拙ではあるけど一応ソースレベルデバッグっぽいことができたので紹介しておきます。 GUD って何? GUD (Grand Unified Debugger) は Emacs の統一フロントエンドデバッガで、現在のところ gdb, sdb, dbx, xdb, perldb, pdb, jdb をバックエンドとしてサポートしています。 その中でも gdb に関してはソースレベルデバッガに必要な機能(ブレイクポイントのマークを設置したりする)などが gdb-ui.el に記述されており、ウォッチやローカル変数ウィンドウなど、

  • Google Chrome 開発者向けツールの紹介

    メディア関係者向けお問い合わせ先 メールでのお問い合わせ: pr-jp@google.com メディア関係者以外からのお問い合わせにはお答えいたしかねます。 その他すべてのお問い合わせにつきましては、ヘルプセンターをご覧ください。

    Google Chrome 開発者向けツールの紹介
  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ

  • Web 開発者の責任 (翻訳): Days on the Moon

    John Resig 氏による A Web Developer's Responsibility という記事が素晴しかったので、著者の許可を得てここに日語訳を掲載します。 Web 開発者の最大の負担は、ブラウザのバグと非互換性への対応に膨大な時間を費やすことであるといって間違いないでしょう。それゆえに、それらへの対応に不満をいうのは、Web 開発者全員の常となっていました。ブラウザのバグは迷惑でいらだたしく、仕事を大幅に難しくします。 ブラウザのバグはとてもいらだたしく、通常の開発における最大の負担です。ですから、開発対象のブラウザが、自身のバグを見つけ修正できるようにしてやるのは、すべての Web 開発者にとっての責任です。自分が見つけたバグに対して責任を持ち、「ほかの誰かがこれを見つけるだろう」とは思わないことで、ブラウザの進歩の速度は加速していくでしょう。 ブラウザを支援する解決策

  • 数式のデバッグ方法−F9キー・Escキー:Excel(エクセル)の関数・数式の使い方

    実務で利用するワークシートでは数式が複雑になることが少なくありません。 複雑な数式をデバッグをする際、どんな操作をしてらっしゃいますか? 2002以降のExcelなら[数式の検証]ダイアログを使ってデバッグするという方法もありますが、私個人的としては[数式の検証]ダイアログよりも、これからご紹介する方法のほうが使いやすいと感じています。 このサイトではこれまで、 数式ではなく、計算結果を残す−F9キー ワークシートとリンクされていないグラフの作り方 といったネタをご紹介してきましたが、これらのネタの中で利用した[F9]キーを使ってデバッグをすることができるのです。 数式のデバッグを行う具体例 ▼サンプルファイル(003375.xls 39KByte)ダウンロード 実際に上記の方法を使い、サンプルファイルのC2セルで数式のデバッグを行う様子を確認してみましょう。 数式で行いたいこと サンプル

  • jQueryを使った開発に便利!Firebug + jQuery·FireQuery MOONGIFT

    Firefoxを使ってWebシステムを開発する際には必須とも言えるFirebug。そして人気の高いJavaScriptライブラリのjQuery。この二つが組み合わさったとき、これまで以上の魅力が感じられるようになる。 マウスを当てるとそのエレメントがハイライト表示される そう確信できるのがFireQueryを使った瞬間だ。この二つの融合は、JavaScriptの開発をバーストしてくれるのではないだろうか。 今回紹介するオープンソース・ソフトウェアはFireQuery、Firebugと連携するjQuery開発補助アドオンだ。 FireQueryはconsole.logに吐き出した内容を元に、画面上のエレメントをハイライトしてくれる。例えばconsole.log($('p'));と出せば、コンソールに出力された jQuery(p)という表示にマウスを当てると、該当部分がハイライト表示になる。ど

    jQueryを使った開発に便利!Firebug + jQuery·FireQuery MOONGIFT
  • var_dump2.0を標榜するデバッグライブラリ·Krumo MOONGIFT

    PHP開発者であれば誰しもがお世話になるであろうvar_dump(またはprint_r)。とりあえず何か問題があったら使ってみる、と言う人も多いはずだ。だがそんな便利なはずのvar_dumpも整形されていないのでブラウザ上では見づらいという欠点がある。 var_dumpをさらに使いやすくしたデバッグ用関数を提供する そのため、var_dumpで出力した後にブラウザのソースで配列の順番を確認する、といった操作はよくあることだろう。だがこれからはKrumoを使ってデバッグを行えば良さそうだ。 今回紹介するオープンソース・ソフトウェアはKrumo、次世代のvar_dump、print_rを目指すデバッグライブラリだ。 Krumoはデバッグ用のライブラリであり、特別な拡張は必要なく利用できる。開発時にはphp.iniにKrumoを設定しておくことが推奨されている。そしてKrumoの関数にデータを見

    var_dump2.0を標榜するデバッグライブラリ·Krumo MOONGIFT
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • C++ のプログラムのデバッグを楽にする方法

    メディア関係者向けお問い合わせ先 メールでのお問い合わせ: pr-jp@google.com メディア関係者以外からのお問い合わせにはお答えいたしかねます。 その他すべてのお問い合わせにつきましては、ヘルプセンターをご覧ください。

    C++ のプログラムのデバッグを楽にする方法