タグ

デバッグに関するroid123のブックマーク (7)

  • Dockerでデバッグ対象のコンテナにツールを入れずにtcpdump/straceなどを使うワンライナー - Qiita

    はじめに Dockerであんなコンテナやこんなコンテナを動かしてると、なんかうまく動かなくて、デバッグのためにtcpdumpとかstraceなどのツールが使いたくなることが稀によくあります。 そんな時、デバッグ対象のコンテナ内にツールを一時的にインストールしちゃうというのが、まぁ簡単で分かりやすいんですが、デバッグ対象のコンテナを汚すのはできれば避けたいところです。 Dockerのコンテナの分離というのは、結局のところLinuxのリソースの名前空間の分離であるので、逆に同じ名前空間を共有すれば、デバッグ用に立てた隣のコンテナから、デバッグ対象のコンテナのネットワークやプロセスの状態を観察することも可能です。 また、docker buildDockerfileを標準入力から受け取ることもできるので、ワンライナーにしてデバッグ用のコンテナをシュッと呼び出せるようにしてみました。 TL;DR

    Dockerでデバッグ対象のコンテナにツールを入れずにtcpdump/straceなどを使うワンライナー - Qiita
  • 【Python】もうprintデバッグはいらない? / PySnooperで楽々デバッキング - フリーランチ食べたい

    Hacker NewsとRedditでバズっていたPythonのデバッグツールが便利だったので紹介です! PySnooperというライブラリです。 Hacker News - PySnooper: Never use print for debugging again Reddit - PySnooper: Never use print for debugging again ※追記 想像以上にたくさんの方に読んでいただき、printデバッグなど他のデバッグ方法との比較について追記として文末に補足しました。釣りタイトルですみませんでした…🙇 何ができるライブラリか 一言で言うと「デバッグがめちゃくちゃ簡単にできるライブラリ」です。 github.com 例を見たほうがわかりやすいと思うので見てみましょう。 インストールは pip で行えます。 pip install pysnooper

    【Python】もうprintデバッグはいらない? / PySnooperで楽々デバッキング - フリーランチ食べたい
  • RubyとRailsの独特な挙動と、それと戦うためのデバッグ手法 - Qiita

    Railsを書き始めた人が知っておくと役立つような、RubyRailsの知識をまとめてみました。 環境はUbuntu 17.10で、Ruby 2.4.1のRails 5.1.3ですが、Macでもほとんど同じく操作ができるかと思います。 Rubyとの戦い方 この項目では、Railsとは関係のないRuby言語としての挙動やデバッグについて話していきたいと思います。Railsから勉強し始めた方だと、どこまでがRubyの挙動で、どこからがRailsの拡張なのか分からないという人も多いと思うので、とりあえず純粋なRubyのお話から初めます。 irbの使い方 まず初めにRubyのデバッガ(正しくはREPL)についてですが、Rubyをインストールしたら同時にirbというコマンドが入っていると思います。このirbを使用すると、Rubyのコードがパッと実行できて、ちょっとした疑問をすぐに解決できるようにな

    RubyとRailsの独特な挙動と、それと戦うためのデバッグ手法 - Qiita
  • Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう

    « Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。 | Main | VimConf2017 に参加してきた。 » printf デバッグは便利だ。技術の後退と言われようと printf でないと解決できない事はまだまだたくさんあります。 今日は net/http でクライアントが得たレスポンスの JSON を確認したいといった場合に、どうデバッグしたらいいかを書いてみたいと思う。 Go のインタフェースは大よそ io.Reader もしくは io.Writer を使う様に設計されている。こうする事でプログラムがメモリを一度に沢山確保してしまわない様にしています。 package main import ( "encoding/json" "fmt" "log" "net/http" ) type Foo struct { ID  

    Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう
  • JSのデバッグにはconsole.log()ではなくNodeのデバッガーを使いなさい

    JavaScriptのデバッグに苦労しているなら、Nodeのデバッガーを試してみてはどうでしょうか。Visual Studio Codeならさらに手軽です。 袋小路です! 何時間も費やしていろいろ試してみたけれどもうまくいきません。コードをじっと吟味してもエラーになりそうなところはありません。2、3回ロジックを見直して、何度も実行しています。単体テストも助けにはならず、同じく失敗してしまいます。もはやどうしていいか分からず、虚空を見つめたくなります。ひとり闇の中にいるように感じて、だんだん腹が立ってきます。 こんなときの自然な反応は、コードの品質を落とし、邪魔なものを全部捨て去ることです。コードのあちこちにprintをちりばめて、なにかうまくいくことを祈るわけです。これでは暗闇で的を狙うようなもので、望み薄なことが分かるでしょう。 よくある話だと感じたのではないでしょうか。今までに数行以上

    JSのデバッグにはconsole.log()ではなくNodeのデバッガーを使いなさい
  • Vorlon.jsとは? ブラウザーでWebデバッグできるお手軽な開発者ツール

    Vorlon.jsという開発者ツールを知っているだろうか? このオープンソースツールを使えば、PCブラウザーで各種Webデバッグが行える。その機能概要と基的な使い方を解説。 Vorlon.jsとは Vorlon.js(読み方: ヴォーロン・ジェーエス)とは、ChromeのDevToolsやIE/EdgeのF12開発者ツールと同じく、Webブラウザーの表示内容やネットワーク状態をデバッグするためのツールである。 最も特徴的なのが、ブラウザー上で動作することだ。PCブラウザーのデバッグはもちろん、スマホなどのモバイルデバイスのデバッグを、ケーブルをつなげることなく、Macを準備することなく、実現できるのが大きなメリットだろう。 マイクロソフトが開発したオープンソースプロジェクトであり、Node.jsとSocket.IOといったオープンな標準のみを使って開発されていて、プラグインの追加が容易で

  • Chrome開発者ツールの小技集 | POSTD

    最近、普段以上にChromeの開発者ツールを使うことに時間をかける機会がありました。その過程で、自分が今まで気づいていなかった機能をいくつか見つけました(少なくとも今までその機能を探す必要に迫られていなかった、とも言えるのですが。例えばブラックボックス化や非同期のスタックトレースなど)。そのため、開発者ツールでとても気に入っているいくつかの機能についてまとめてみたくなったのです。 小さな虫眼鏡ののアイコンは、特定の要素やCSSプロパティに対して、「どのCSSファイルに書かれているどのセレクタ/クラスが最終的なスタイルを決めているか」を示してくれます。例えば、どれかDOM要素に対して「要素を検証」を選び、右側の「Computed」というタブを選びます。確認したいCSSプロパティを見つけてその虫眼鏡アイコンをクリックすることで、すぐさま右側に正しいCSSファイル内のクラス/セレクタを表示してく

    Chrome開発者ツールの小技集 | POSTD
  • 1