あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
TOPICS Programming 発行年月日 2017年06月24日 PRINT LENGTH 252 ISBN 978-4-87311-799-7 原書 Effective Debugging FORMAT 数々の人気の技術書の著者として、さらには数多くのオープンソースの開発や教育活動で名高いコンピュータ科学者ディオミディス・スピネリスの最新刊。心構えから思考法、Gitなどシステムを使った方法論、システムの開発から保守運用に至る戦略、並列処理も含めた技法、コマンドラインを駆使したツール、ハードの扱いまで含めたヒントなどさまざまな角度からデバッグの本質に迫ります。有効なデバッグ手法を体系的に網羅し、すぐに応用できる具体例も多く挙げられています。デバッグの感覚とスキルを高めることによって、開発効率を改善し、高品質のコードを書くことが可能となります。作業効率と品質を向上させたい全プログラマ
概要 Webアプリケーションの開発や保守をしていると、いろいろなバグに遭遇します。メモリリーク、デッドロック、リダイレクトループ、JVMクラッシュ等々、バグは様々です。こういったバグは、実際にコードを書いて、実行・再現させてツールで解析してみると理解が深まります。 ということで、いろいろなバグを実装したWebアプリケーションをつくってみました。現時点では、以下を簡単に再現できます。 メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ リダイレクトループ JVMクラッシュ ネットワークソケットリーク データベースコネクションリーク ファイルディスクリプタリーク XSS SQLインジェクション ExceptionInInitializerErr
webpackを使ったサイト、極端にデバッグしずらい (外部ライブラリが eval(文字列) の形で埋め込まれる)ので、はっきり言って大キライだったりする— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 見知らぬコードが minifyされ、さらに eval されているのをデバッグしろとか、暴力にも等しい要求なんだよね。そりゃキライになるよ— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 「環境Aの言語Bで書かれたコードを言語Fに変換した、環境C/D/Eで動くと思うのでデバッグしろ」というのも極端にデバッグしづらいという理由から避けるようにしている。 デバッガビリティに問題がある環境は、心がすり減るのでイヤ(時給1万円なら頑張る— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 js minifyあるある A「パフォーマンスに問題があるので
Update: In the HN discussion, awalton mentioned you can set CPUID flags in VMWare. Simply adding cpuid.7.ebx = "-----------0--------------------" to the vmx file will disable SMAP. Late last year, I upgraded my old MBP to the 2016 model with a Skylake processor. As I was debugging a kernel exploit, it turned out that SMAP was enabled inside my VMWare Fusion VM. I wanted to avoid dealing with SMAP,
Any great software developer must inevitably become a great software debugger. Debugging consists largely of setting breakpoints, then landing on them to examine the state of an app at arbitrary points during its execution. There are roughly two kinds of breakpoints: those you set on your own code, and those you set on other people’s code. Setting a breakpoint on your own code is simple. Just find
DWARF Version 5 Standard Released February 15, 2017 The DWARF Debugging Information Format Standards Committee is pleased to announce the availability of Version 5 of the DWARF Debugging Format Standard. The DWARF Debugging Format is used to communicate debugging information between a compiler and debugger to make it easier for programmers to develop, test, and debug programs. DWARF is used by a
はじめに すごーい!きみはでばっぐじょーほーがよめるフレンズなんだね! (雑な挨拶) 実行時に解釈するスクリプト言語ではなく、ソースコードをコンパイルしてマシン語バイナリを作るコンパイル言語では、プログラムを実行する時に出たバグを解析するのに、ソースコードとの突き合わせ作業が必要になります。とはいえIDEやエディタの拡張機能を使っていれば、ユーザはほとんど何も気にすることなく、プログラムのソースコード上のある行番号で実行を止めたり、その時の変数の値を調べたりすることが出来るでしょう。 この記事では、そうした技術の裏側にあるデバッグ情報について説明をし、デコードしたデバッグ情報からある程度の情報を得られることを目指します。前半部分ではデコードしたデバッグ情報を読むためのDWARFの基礎知識について説明し、後半部分ではサンプルコードをコンパイルし、そこからデバッグ情報を実際に表示させて辿ってみ
Hello everyone, Today we’re glad to bring out the RubyMine 2016.3 RC (build 163.7743.40). For previous posts covering the major new features of the upcoming release, see: New Gem Management UI, Faster Remote Gem Downloading, Better Puppet Support. Attach to local process Starting with v2016.3, RubyMine allows you to attach to locally running Ruby/Rails processes with the IDE’s debugger. The new fe
===================== /Users/richardschneeman/documents/projects/my_rails_app/app/controllers/projects_controller.rb:18:in `new' /Users/richardschneeman/.gem/ruby/2.3.0/gems/actionpack-5.0.0.beta1/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action' /Users/richardschneeman/.gem/ruby/2.3.0/gems/actionpack-5.0.0.beta1/lib/abstract_controller/base.rb:183:in `process_action' /Users/
TestObject 型のインスタンス t1,t2,t3を作成します。t1がt2を参照、t2がt3を参照、t3がt1を参照といった形で、循環参照を実現しています。 実行 実行すると、Debug Memory Graph を表示するためのボタンがデバッグエリア上に現れます。 クリックすると、各クラスと、そのインスタンス一覧が表示されます。 例えば、このような形で Xcode の左ペインに表示されます。 メモリ上で各インスタンスがどのような関係で結びついているのかを確認するには、インスタンスをクリックすればOKです。 Xcode 8 ではこのように表示されます! また、この表示画面で、各インスタンスをコマンドキーを押しながらクリックすると、コードの該当箇所(今回の場合TestObjectクラス)に飛ぶことが出来ます。 まとめ 概念図としてよく見るこうした図が、実際のメモリ内の状況を反映した形で
1. qiraとは qiraとは世界的なハッカー、George Hotz氏 (ジョージ・ホッツ - Wikipedia) によって開発された高機能バイナリトレーサーであり、qiraという名は(QEMU Interactive Runtime Analyser)の略である。 GitHub - BinaryAnalysisPlatform/qira: QEMU Interactive Runtime Analyser 略語を見れば分かるがuser mode QEMUを使用したバイナリ解析ツールであり、ELFなどの実行形式バイナリを実際に動作させて各命令のレジスタ、メモリへの操作を逐次記録する。 これらの記録はweb UIを通して好きな命令位置にカーソルを移動させるだけで見ることができ、その時のレジスタ、メモリの記録が再現される仕組みになっている。ソフトウェアのデバッグやCTFにおけるバイナリ解
WebQA Meeting Vol.2 https://peraichi.com/landing_pages/view/webqa-2
Every day we try to find new ways to improve developer experience with IntelliJ IDEA. It may be a bugfix, a performance improvement, or a new feature (usually in this order). Today we’d like to introduce a new plugin called JVM Debugger Memory View. The plugin extends the built-in debugger with capabilities to explore objects in the JVM heap during a debug session. The Memory View shows you the to
最近lsofを使ってportの利用状況をチェックしようとしたら、なぜか数秒固まるということが起こり、drussを使ってどこで止まっているか確かめたのでメモ。 dtrussというのは、簡単にいえばstraceのOSX版という感じ。どうやって使うかはOSXでもstraceしたい?よろしい、ならばdtrussだ - すがブロあたりをとりあえず見ると分かる。 ただ、単にdtrussを実行しただけだと、結局どこに時間がかかっていたのかよくわからなかった。manを見ていると、以下のようなオプションがあり、便利そうなので試してみた。 -e : それぞれのシステムコールの実行時間をmicrosecondsで出力する -d : コマンド開始からの実行時間をmicrosecondsで出力する とりあえず-eと-dオプション付きでlsofでどこに時間がかかっているか調べてみる。 $ sudo dtruss -e
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く