タグ

デバッグに関するDrunkarのブックマーク (5)

  • QsysのJtagデバッガでLチカしてみた - GeekleBoard

    Qsysの目玉の一つとしてJtagデバッガ(System Console)が追加されたとのことで使ってみた。 構成としては以下のようにFPGA上には「PIO」と「Jtag Avalon Master Bridge」の2個のコンポーネントのみ。 Qsysの構成 System Console入力画面 Tclコマンドで以下のようにメモリマップを叩いてやることができます。 # デバイスオープンするためのおまじない set mm [lindex [get_service_paths master] 0] open_service master $mm # LEDへチェックパターン書き込み # PIOのアドレス0x00000000へ0xAAAをライト master_write_32 $mm 0x00000000 0xAAA DE0でためしてみたプロジェクト一式はgithubにうp。 https://g

    QsysのJtagデバッガでLチカしてみた - GeekleBoard
  • Pythonスクリプトの実行時間をメソッドごとに評価する「Python-profiler」が凄い」

    Hacker Newsに上がっていた記事「Run,Python,Run!」で扱っているスクリプト、Python Profilerが凄い。 何が凄いって、Pythonでかかれたスクリプトの実行時間を、メソッドごとに計測し、グラフィカルに表示してくれるのだ。 試しに使ってみたが、これは素晴らしかった。 #vim encoding=utf8 def loop(x): for i in range(x): print "やっほー" def loop_list(x): yahho = [] for i in range(x): yahho.append("やっほー") yahhoi = loop_list(1000) loop(1000) 上記のスクリプトを実行し、プロファイルしてみたのが以下 loopが時間をっていること、更に、loop_list内で実行されているappend()の実行にどれだけ

    Pythonスクリプトの実行時間をメソッドごとに評価する「Python-profiler」が凄い」
  • gcc+gdbによるプログラムのデバッグ 第1回 ステップ実行、変数の操作、ブレークポイント

    しかし、ブレークポイントという機能はデバッガの手助けなしでは実現できません。 ブレークポイントとはプログラムの強制一時停止を行うポイントで、実行中のプログラムがブレークポイントに遭遇するとプログラムは一時停止され、デバッガによるプログラムへの介入を行えるようになります。 ブレークポイントは次のような場所に設定できます。 指定した行番号のプログラムを実行しようとする瞬間 関数を呼び出した瞬間 その他、C++などでは「例外が発生した瞬間」などにもブレークポイントを設定することができます。 行番号ブレーク ブレークポイントとしてよく使用されるのは、「プログラムの特定の位置」です。 例として、bubblesort.cプログラムのsort関数内で、隣り合う二つの要素を比較している箇所にブレークポイントを設定してみます。 25|/* bubble sort */ 26|void sort(int *a

  • エラー処理を書いてはいけない - Preferred Networks Research & Development

    昨日セミナーとして USTREAM させていただいた資料を公開いたします。 エラー処理を書いてはいけない USTREAMのビデオ タイトルは釣り気味ですが、内容はいたって真面目なのでご安心ください。 概要 やってはいけないシリーズ、の第三弾としての試みです。 リソース管理をしてはいけない ロック処理を書いてはいけない エラー処理を書いてはいけない ← New! タイトルに反して(あるいはタイトル通りに)、正しく長時間動作するプログラムを書くには きちんとエラー処理を行う必要がありますが、 それを何とか抽象化しようという(Haskell界隈での)試みについてのご紹介でございます。 あまり他の人がこういうことを言っているのを聞いたことが無いので、 自分の日々考えていることを世に問うた形になっております。 実際のところ、社内ではC++がメインに使われておりますので、 こういう手法が用いられている

    エラー処理を書いてはいけない - Preferred Networks Research & Development
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
  • 1