サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
gikogeek.hatenadiary.org
最後に、Ruby,Pythonのデバッガの実装について調べてみました。 Pythonには、pdb。 Rubyにはdebug.rbというデバッガが存在します。 これらは、各言語が提供するフック関数を利用して実装されています。フック関数を設定する関数(メソッド)は以下になります。 Python sys.settrace (Cレベルでは、ceval.cのPy_tracefunc関数*1 ) Ruby Kernel#set_trace_func (Cレベルでは、eval.cのset_trace_func関数) Pythonのsys.settraceの引数で渡した関数は、以下のタイミングで呼び出されます*2 call: なんらかの関数呼び出し時 line: Pythonインタプリタが新しい行を実行する時 return: 関数の呼び出しからreturnする寸前 exception: 例外が発生した時
バイトの関係で、Xアプリを、外部からデーモンとして起動する必要がありました。 やり方を探してみたところ、ssh接続先で以下のコマンド列をうてばOKでした*1。 $ export DISPLAY=:0.0 $ nohup x_program & $ exitようは、ssh接続先のXサーバとXアプリ(Xクライアント)を繋げるように環境変数を設定したうえで、Xアプリを起動すれば良い。 当然、ssh接続先でXサーバが動いていないとだめです。 *1:http://ubuntuforums.org/archive/index.php/t-180991.html ついでに、ssh XForwardingのやり方も調べました。 設定方法 例として、sshdが動いているRemoteマシンと、そこへssh接続するLocalマシンがあり、RemoteマシンでXクライアント(emacsとか)を起動し、Localマ
デバッガの実装について興味があるので調べてみました。 まずは、基本であるC/C++(さらには、アセンブラ)のデバッガについて。 単語の定義 debugger デバッグを行うプロセス。debuggeeの実行制御等を行う debuggee デバッグ対象のプロセス 解説 一般的なOS(Unix, Windows等)では、セキュリティを守るためなどの目的で、OS上で動作しているアプリケーションのデータをプロセスごとに独立した仮想アドレス上に配置し、 CPUのレジスタも個々のプロセス*1ごとに管理します。 このため、debuggerがdebuggeeのレジスタ、メモリの値を読んだり、書き変えたりするには、 OSの力を借りる必要があります。 また、debugeeの実行中に発生するハードウェア、ソフトウェア割り込みを元にOSが生成する非同期イベント (Unix/Linux系ではシグナル、Windowsで
バイト先で、10万ファイルほど置かれたディレクトリ上で下記コマンドを実行したらエラーになりました。 $ mv * ../other_dir/ 引数が多すぎますシェルがワイルドカードを展開した後の引数文字列が長すぎるのが原因でした。シェルがforkした後、mvをexecするところでエラーになるらしいです。 下記コマンドで回避できました。 $ find . -type f | xargs -i mv {} ../other_dir/xargsは前から使ってたんですが{}でパイプで受け取った文字列を指定できるのは知らなかったなあ。 参考サイト UNIXの部屋
少し前のことですが、tracの移行作業(subversionのリポジトリ移行も含む)を行いました。 今後、同じ作業をどこかでするかもしれませんので、忘れないようにメモ。 例として、 trac-projというtracプロジェクト svnrepというsubversionリポジトリ を別マシンに移行する場合を考えます。tracのDBはsqliteとします。 まず、移行元のマシンでtrac-projとsvnrepのバックアップを取ります。他ユーザのアクセスとバックアップが競合しないようにhotcopyコマンドを使ってロック+バックアップします。 $ trac-admin ~/trac/trac-proj hotcopy trac-backup $ tar cvfz trac-backup.tar.gz trac-backup $ svnadmin hotcopy ~/svn/svnrep svn-
輪講でpthreadについて、ゼミ担当の人の話を聞きました*1。せっかくなので、windowsのスレッド用 apiと大体対応する関数を並べてみます。 なお、個々のスレッドをあらわすデータ構造の型は、pthreadではpthread_t, windowsスレッドではHANDLEです。各関数の機能詳細は、ググれば色んなサイトが出てくるのでそちらを見てください。 機能 pthread関数名 win32 スレッドapi名 スレッドの作成 pthread_create CreateThread, _beginthreadex*2 自スレッドの終了 pthread_exit ExitThread, _endthreadex*3 他スレッドを終了 pthread_cancel TerminateThread*4 スレッド終了時に自動的にスレッド作成時に確保したデータ(stack領域等)を解放するように指
このページを最初にブックマークしてみませんか?
『gikogeek.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く