2008-01-26-01-ほぼ全敗...
>> Site top >> weblog >> 月別アーカイブ >> 2008年01月のlog >> 2008-01-26-01-ほぼ全敗...
最終更新日付:2008/01/26 01:00:00
ほぼ全敗...
2008 年 01 月 26 日
ひさしぶりに、PPL で質問に対処した。内容はなんと、ARMlet のデバッグである。そこで PODS バンドルの Cygwin gcc で ARMlet 代替 DLL をビルドし、それを gdb でデバッグできるようにしよう...と考えたのだが。
ひとまず負けっぱなしである。(涙
まず、DLL はビルドできた。動くことは動く。しかし、微妙に間違っているっぽい。次に、Palm OS Simulator が動的にロードして使用する ARMlet 代替 DLL をどうデバッガから捕まえたらいいのかわからない。それはなんとかなったっぽいのだが、ブレークポイントを仕込んでも止まってくれない...(号泣
現状としては、gdb から Palm OS Simulator を起動すると、run をかけて実行しないことには DLL がロードされないものの、そうなってからではブレークポイントを仕込めないため、手動で Simulator を実行&アプリを起動して DLL をロードし、その後 gdbから Simulator のプロセスにアタッチをかけるという方法をとった。次に、Simulator はどういうわけだかセグメンテーションフォルトを頻発するので、handle SIGSEGV nostop noprint で黙らせる。最後にブレークポイントを仕込んで continue で続行。これが現在とっている手順だ。なぜダメなのだろう。Simulator がマルチスレッドアプリだからか? しかし、gdb のブレークポイントは対象プロセスのどのスレッドがブレークポイントに到達しても停まってくれるはずだ(スレッド固有ブレークポイントでないかぎり)。
わからない...ひょっとしたら、そもそも DLL のビルドに問題があるのかもしれない。詳しい方、いらっしゃったら教えてください。
コメント
このページのタグ
Page tag : Palm
Copyright(C) 2005-2021 project-enigma.
Generated by CL-PREFAB.