アプリケーションのデバッグ |
|
スタンドアローン・モードでアプリケーションを走らせるときは、 BOINC API はスタンドアローン・モードであることに気づいて、 上手く振る舞うようにできています。 [それでも、] いくつか気をつけるべきことがあります。
コア・クライアントから起動するには、テスト・プロジェクトを作成し、 アプリケーションの版といくつかの仕事をそのプロジェクトに追加して下さい。 そして、コア・クライアントを起動すれば、必要なものをすべて ダウンロードしてアプリケーションを起動してくれます。 ひょっとしたらアプリケーションはクラッシュするかもしれませんが。
ここまでくれば、そのアプリケーションを使っていろいろ実験をしたくなるでしょう。 しかし、 アプリケーションの更新のたびに新しいアプリケーションの版を作るのはとても面倒なはずです。 むしろ、 BOINC の 匿名プラットフォーム 機構 を使うほうがよほど簡単です。 そのためには、以下のようにします。
Unix では、すでに走っているプロセスをデバッガにかけることができます。 コマンドを使ってアプリケーションのプロセス ID (PID) を見つけ、 以下のようにして そのプロセスをデバッガにかけます。
gdb exec_filename PID
ご自身のコンピュータであなたのアプリケーションが動きはじめたら、 外部のコンピュータ(最初はアルファテスタ達)によってテストする準備ができたことになります。 プログラムはいくつかのコンピュータでは止まってしまうことがあるでしょう。 たとえば、アルファテスターのソフトウエアやハードウェアはあなたのものとは違うという原因で。 リザルトの中の stderr_txt フィールドから、いくらかの情報を返してもらうことができるでしょう。 もし、アプリケーションが boinc_init_diagnostics() を BOINC_DIAG_DUMPCALLSTACKENABLED フラグをセットして 呼んだ後であって、かつ、シンボルを含ませていたならば、 うまくいけば、シンボリックな表示のされたスタックトレースを手に入れることができるでしょう。
Windows の stack trace を解読するには Windows でのアプリケーション・デバッグ を見て下さい。
さもなくば、少なくとも(16進数の)数値表現されたスタックトレースを手に入れるはずです。 アプリケーションの unstripped 版をシンボリック・デバッガで動かして、 その16進数表現の数値を入力すれば、スタックトレースを解読できます。 右をご覧ください。 http://developer.apple.com/technotes/tn2004/tn2123.html#SECNOSYMBOLS
最終更新時刻 00:46:10, 2006年08月12日(JST)
Copyright © 2008 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.
Copyright © 2008 Komori Hitoshi(je2bwm at jarl.com).
Japanese translation from English web pages on BOINC.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.