2009年11月24日火曜日

iphoto 人々 終わらない

iPhoto'09
人々
下の写真にも写っているようです
が終わらない

結局、option押しながらiphoto起動し、ライブラリを新規作成(空っぽ)
数十枚ずつ、少しずつ、iphotoライブラリへ読み込ませる。
一度に8000枚強やろうとしたのがハマるきっかけか。。。
枚数多いと人々機能(顔認識)でトラブルよう。。。

appleサポートにTEL→問題は認識しているのでソフトアップデートを待ってくれ。
サポートで教えてもらった復旧方法(復旧しなかったが。。)

【キャッシュ削除】
ホーム
ライブラリ
Caches、com.apple.iphoto、Cache.dbファイル→デスクトップへ移動
Preference、com.apple.iphoto.plistディレクトリ→デスクトップへ移動
iphoto起動。(復旧せず)

【顔データベース削除】
http://stepbros.exblog.jp/7930508/
ユーザ > (あなたのアカウント) > ピクチャ > iPhoto Library
「iPhoto Library」をコンテクストメニュー(右クリック)の「パッケージの内容を表示」
で開きます。
「face.db」と「face_blob.db」を別の場所に移動

復旧した。
(1)顔データベース削除
(2)キャッシュ削除

やりたいのは復旧作業じゃなくて画像管理。。
やりたいことがやれないってぇのは。。。

復旧と思ったが、全然人のいない画像まで認識しているよう。
別人まで。。誤認識のレベルじゃない。



2009年10月7日水曜日

SugarSync 同期されない

常駐アプリが Determining changes to ファイル名 で停止。
一度対象ファイルを同期フォルダ以外に移動し、改めて同期フォルダにコピーすると
同期されるようになった。



2009年9月27日日曜日

外付けハードディスクにアクセスできない

USB接続の外付けハードディスクの1領域が、
マイコンピューター上において「ドライブ」(だっけ!?)として表示(認識)される。

アクセスすると「インページ操作の実行エラー」のメッセージ。

dos窓からchkdsk g: /f実行でアクセスできるようになった。



2009年9月24日木曜日

itune CDを認識しない

iTune9にバージョンアップしたらCDを認識しない(自動インポートの問い合わせ無し)。
レジストリ書き換え対処があるようだが見送り。
どうしようか考えて、なにげにiTune(タスクバー上)をクリックしたら、
自動インポートの問い合わせがきた。
しばらく様子見。

CDデバイスの認識に時間が掛かっているのか?
セキュリティーソフトとの問題か?

うまくいったと思ったら、
繰り返しインポート問い合わせ。インポートできず。。。再起動でtry。
再起動したらインポートできるようになった。



2009年9月16日水曜日

gdb(gdbserver)を使ったリモートCPUの共有ライブラリをデバッグする方法

【ビルドマシン】
 デバッグ用ビルド(-O0 -gオプション付きでコンパイル。)
 □libMyLibrary
 □chkcmd(ライブラリデバッグ用コマンド)


【ターゲットCPU】
 □ファイアウォール停止(繋がらなかったら、ビルド、ターゲットCPU両方で。)
  /etc/rc.d/init.d/iptables stop

 □デバッグ用ライブラリに差し替え。
  ファイルrelapce、またはlibMyLibrary.so→リンク先を変更。
  ※パーミッション注意 chmod a+rx libMyLibrary.so.1

 □GDBサーバー起動
  $ gdbserver ビルドマシン名:30000 chkcmd (ビルドマシン名はなくても良い!?)


【ビルドマシン】
 GDB起動 (emacs上で動かした方が便利。)
 $ gdb ./chkcmd

  (gdb) br main

  (gdb) target remote ターゲットCPU名(IPアドレス!?):30000

  (gdb) c

  (ブレークしたら、)

  (gdb) set solib-search-path /home/user/src/libMyLibrary
      (↑ライブラリビルドしたディレクトリへのパスを指定)
   ※↓表示される(他のエラーメッセージ無視)
    Reading symbols from /home/user/src/libMyLibrary/libMyLibrary.1...done.
    Loaded symbols for /home/user/src/libMyLibrary/libMyLibrary.1

  (gdb) br MyLibraryStartAPI ※取り敢えず適当なライブラリ関数にブレークポイント設定

  (gdb) c 後は自由に。



2009年9月15日火曜日

gdb

【バックトレース機能】
(gdb) bt
(gdb) thread apply all bt


【スタックフレーム操作】
(gdb) frame(現在のフレーム)
(gdb) frame 1(フレーム選択)
(gdb) up(フレーム移動:上へ)
(gdb) down(フレーム移動:下へ)
(gdb) i frame 1(詳細なスタックフレーム情報。infoコマンド)


(gdb) x/i $pc(プログラムの現在位置プログラムカウンタ)
(gdb) p $sp(現在のスタックポインタの位置(アドレス))
(gdb) i proc mapping(gdbがアタッチしているプロセスのメモリマップ)
コアダンプ解析の場合、
(gdb) info files
または
(gdb) info target


ulimit -s スタックサイズの表示
ulimit -Ss 81920 スタックサイズの変更
または、limit (a)


【よく使うもの】
backtrace コールトレース実行
br ブレークポイント設定
c コンティニュー
d 「ブレークポイント番号」 ブレークポイント解除
finish 関数終了まで実行
info b ブレークポイント表示
n 次の行まで実行
p 式(構造体、変数)を表示
run プログラム実行。引数も渡せる
s 次の行まで実行、関数呼び出しの場合その中へ
x メモリ内容表示???
until 指定行まで実行

【使うもの】
awatch 変数 指定した変数がRead(rwatch)/Write(watch)された場合に停止。
構造体表示を見やすく。set print pretty on


$fp フレームポインタレジスタ
$pc プログラムカウンタレジスタ
$ps プロセッサステータスレジスタ
$sp スタックポインタレジスタ



2009年9月5日土曜日

vxWorks 時間測定計測 vxTimeBaseGet vxTimeBaseSet

vxTimeBaseGetを使って時間測定計測する際に
vxTimeBaseSet(0,0)で上位下位32bitレジスタを初期化しないと
レジスタオーバーフローしてヘンテコな時間になる?

ラウンドするまで時間長いはずなので実質問題ない?
初期化やっとく分には問題ない。

vxTimeBaseSet(0,0); /* set the TBH and TBL registers to 0 */

taskDelay(rate*3600); /* suspend for 1 hour */

vxTimeBaseGet(&tbu,&tbl); /* read the TBH and TBL again */


#include <vxLib.h>

void testSysClockAccuracy(int rate)
{
UINT32 tbu, tbl, i;

printf("SysClkRate=%d\n", rate);
sysClkRateSet(rate);
taskDelay(2);

vxTimeBaseSet(0,0); /* set the TBH and TBL registers to 0 */
taskDelay(rate*3600); /* suspend for 1 hour */
vxTimeBaseGet(&tbu,&tbl); /* read the TBH and TBL again */

for(i=0; i < 3600;i++) /* Count down 3600 second from TBL and TBH (16500000 units for for 1 second) */
{ /* <TBL TBH> -= 3600*16500000; */
if (tbl < 16500000)
{
tbu--; /* borrow */
}
tbl -= 16500000;
}
printf("tbu diff =%x (%d) , tbl diff =%x (%d)", tbu, tbu,tbl, tbl);
/* print out the difference in TBL and TBH units */
}