タグ

debugに関するtoritori0318のブックマーク (12)

  • Docker上のGo製Webアプリケーションをリモートデバッグする - Qiita

    概要 Docker上で動作するGo製Webアプリケーションをデバッグする方法を解説します。 2020-05-03 追記 以前は oxequa/realize を利用していましたが、 2020年5月3日現在 oxequa/realize はメンテナンスが止まっています。 例えば 去年私が追加したissue は閉じられていませんし、その他のPRもマージされていません。 その為 cosmtrek/air を使った形に記事を大幅に書き換えました。 cosmtrek/air はメンテナンスが継続されており、GoModuleにも対応しているので、oxequa/realize の代わりは十分に果たせると思っています。 環境 ホストOS(macOS Catalina バージョン 10.15.4) GoLand 2020.1.1 Docker Desktop for Mac(Docker version 1

    Docker上のGo製Webアプリケーションをリモートデバッグする - Qiita
    toritori0318
    toritori0318 2021/05/24
    なるほど
  • Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記

    を読んで思い出したのでご紹介です。 元の記事と同様に以下の関数 sum について、 function sum(nums, acc = 0) { console.log({ nums, acc }); if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } この関数sumの引数 (nums と acc) の呼び出しごとの変化を見たい場合は、所謂プリントデバッグや debugger を使うのは一般的なテクニックとしてよく知られていますが、このような関数呼び出し時の引数を知りたい場合はmonitor(function)という関数を使うことで同様の効果を得ることが出来ます。 この場合は monitor(sum)とした後に、関

    Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記
    toritori0318
    toritori0318 2021/05/04
    これは便利
  • Go のライトバリアに関するバグを修正した話 : DSAS開発者の部屋

    Goのランタイムのバグを踏んで解決しました。解決までの過程を記事にします。 同じようなランタイムのバグを踏んで、小さい再現コードを作れない場合の参考にしてください。 自分のプログラムを疑う あるSlackチャンネルで Go で書かれたサーバーのクラッシュが話題になっているのを見つけました。その時に共有してもらったトレースバックです。 runtime: pointer 0xc007b8af97 to unused region of span span.base()=0xc004000000 span.limit=0xc004002000 span.state=1 fatal error: found bad pointer in Go heap (incorrect use of unsafe or cgo?) runtime stack: runtime.throw(0xc046ca,

    Go のライトバリアに関するバグを修正した話 : DSAS開発者の部屋
  • デバッガでRedisのコードを読んでみよう - freee Developers Blog

    こんにちは、エンジニアの松崎 啓治(まつざき けいじ)です。 インターネット上ではこのIDで活動しています。 @futoase 先日、社内でエンジニア向けに「デバッガでRedisのコードを読んでみよう」というテーマの勉強会が開かれました。せっかくの機会なので、その内容をご紹介します。 勉強会スライドへのリンク デバッガでRedisのコードを追いかけるメリットとしては以下のようなものがあります。 gdbを使ってRedisのコードをstep実行することで、どのタイミングでRedisのStorage(memory領域)からデータを取得できるのか体験から学べる Redisだけではなく、nginxMySQL、PostgreSQLなどgdbを利用してstep実行を行えるものであれば、今回の勉強会の手法を元に同じように体験から学ぶことができる デバッガで追いかけるための準備 プレゼン資料で

    デバッガでRedisのコードを読んでみよう - freee Developers Blog
  • 良いデバッグログはプロジェクトの資産である

    http://eventdots.jp/event/591027 (2016-07-30追記:Rails 5.0からproductionでもDEBUGがデフォルトらしいです) (2020-09-23追記:https://github.com/rails/rails/pull/39707 INFOに戻りそう)

    良いデバッグログはプロジェクトの資産である
  • なんかトレースするはなし

    PerfectQueueはいかにパーフェクトか、あるいはRubyMySQLでジョブキューを作る試みについて

    なんかトレースするはなし
  • コアダンプを解析しよう – 駄文で出来た備忘録

    C言語でアプリケーションを作成して、 テスト実行すると、たまーにこんなメッセージが出力されて(´・ω・`)ショボーンとなる ことがあります。 [root@SVRSTM01 unit]# ./common_test セグメンテーション違反です (コアダンプ) [root@SVRSTM01 unit]# はい、(´・ω・`)ショボーン いったい何がおきた!? そんなメッセージが出るなんてプログラム書いた覚えないんだけど!? メッセージを良く見るとコアダンプと括弧書きされてるだけで、 そのコアダンプとやらは・・・ [root@SVRSTM01 unit]# ls -ltr 合計 2277572 -rwxr-xr-x. 1 root root 14977      9月 25 09:44 2014 IPUpdater -rwxr-xr-x. 1 root root 25362     11月

  • 何でもデバッグできるようになるスキル - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VV7b7fs4VI8 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 パッケージ(apt, yum, gem等)レポジトリのホスティングサービスであるPackageCloudを開発している、James Golickの講演です。 パフォーマンスの高いハイクオリティなソフトウェアをデプロイしたければ、あらゆるレベルでバグ修正ができるようになること。 まず、エピソードとして紹介しているのが、友人の会社のサイトが落ちて、あいにく、その会社のエンジニアが出払ってしまっていて、どうにかしてほしいと助けを求められたときのこと。 ソースコードを見たことない。 システムの構成を知らない。 phpは詳しくない。 SSHでアクセスできる情報だけはある。 とい

  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

  • Node.js の起動オプション、環境変数、npm start の話 - Block Rockin’ Codes

    Node は起動時に色々オプションをつけることができます。 面白いもの、有益なものあるんですが、あまり言及されてないので、 ちょっと紹介してみようかと思ってます。 最後の npm start の話は、それ単体で書いても良いかと思っていたんですが、 関連するし良い機会なので書きます。 そして、オプション周り興味がない方も、Node やってる方は最後の npm start の話だけでも、 読んでいただけるとと思ったりします。(知らない方が多いようなので) ここで紹介している Node のバージョンは v0.7.7 です。しかし v0.6.x あたりでは、 v8 のバージョンが古く、オプションが微妙に違います。そこは v0.6.12 での結果を載せている場合もあります。 -h まあ、とりあえず全ては -h から始まる。ということで、実行すると以下が出ます。 Usage: node [option

    Node.js の起動オプション、環境変数、npm start の話 - Block Rockin’ Codes
  • FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい

    Firefoxのデバッグ拡張ことFirebugですが、Firefox4よりFirebugとは別にWeb Consoleという機能が入りました。 しかし、Firebug自体もさらに便利になっているので、少し紹介します。(Firebug1.7 –1.8 の範囲で) 現在のFirefox4に正式対応しているのはFirebug1.7xで、Firebug1.8xはAlpha版として公開されているのでまだ不安定な部分もあることに注意して下さい。 特に注意書きしてない部分はFirebug1.7の項目だと思って大丈夫だと思います コマンドラインに履歴ボタン コンソールパネルでのコマンドエディタ(でかい方のコマンドライン)にHistoryボタンが新たに追加されました。 過去に実行したコマンドをポップアップから選択して挿入することができます。(以前はCtrl+ZでUndoし続ける必要があった) コマンドライン

    FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい
  • Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog

    Chrome版のFirebugことGoogle Chrome Developer Toolsですが、以前gihyoで解説したときよりさらに便利になっているので、少し紹介します(元はWebKitなので、そのうち(近いうちに)Safariでもそれなりに使えるようになるはずです)。 圧縮されたコードの整形 まず、目立つところからいきましょう。ちょうど先日更新されたChromeのdev版(12.0.742.0)に搭載されたばかりの機能で、minifyされているJavaScriptコードを読みやすいように整形して表示してくれるというものです(IE9の開発者ツールにも実装されている機能です)。 例えば、Google Analyticsのコードは圧縮されていて普通は読めません。 しかし、Chromeのデベロッパーツールなら、 このように整形してくれます。 やり方は簡単で、デベロッパーツールのScript

    Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog
  • 1