デバッガ

ocamldebugの調査

ML言語の一種であるOcamlに付属している、ocamldebugというデバッガについて調べたのでメモ。 かなり間違っている可能性があるので、注意。 gdbライクなCUI break,info,helpコマンド等、gdbを知っている人なら何となく使えるようにコマンド名がつけられてま…

デバッガの実装(Ruby/Python編)

最後に、Ruby,Pythonのデバッガの実装について調べてみました。Pythonには、pdb。 Rubyにはdebug.rbというデバッガが存在します。 これらは、各言語が提供するフック関数を利用して実装されています。フック関数を設定する関数(メソッド)は以下になります…

デバッガの実装(Java編)

次はJavaのデバッガについて調べました。 背景 Javaプログラムの実行は、Java Virtual Machine(以下JVM)上に存在する仮想的なCPUがbytecode(仮想的なCPUが解釈する機械語)を解釈、処理をしていくことによって、行われます。bytecodeはJavaコードをjavacでコ…

デバッガの実装(C/C++編)

デバッガの実装について興味があるので調べてみました。まずは、基本であるC/C++(さらには、アセンブラ)のデバッガについて。 単語の定義 debugger デバッグを行うプロセス。debuggeeの実行制御等を行う debuggee デバッグ対象のプロセス 解説 一般的なOS…