2008-01-26-01-ほぼ全敗... - project-enigma

2008-01-26-01-ほぼ全敗...

>> Site top >> weblog >> 月別アーカイブ >> 2008年01月のlog >> 2008-01-26-01-ほぼ全敗...

最終更新日付:2013/12/31 07:37:33


ほぼ全敗...

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-2017 project-enigma.
Generated by CL-PREFAB.