もともとKDEのブラウザKonqueror用のJavaScript Engineで、AppleがSafariに採用し、NokiaがSeries 60用に移植したKJSと格闘しています。フォーラム NOKIAで2005年8月に公開したソースを使用したFOMA M1000用アプリケーションを作成したものの、特定のJavaScriptを実行すると、Collector::collect()でアプリケーションが落ちてしまうんです。
作成したアプリケーションというのが、GUIアプリから起動するサーバのため、gdbstub.exeを使った実機デバッグを試みるも、ブレークポイントは設定できても、実行すると対象プロセスが即終了。あまりデバッガを試す時間もないので、仕方なくprintデバッグ
KJSのオブジェクトの実装クラスはObjectImpを継承するため、Collector::collect()で扱うものはすべてObjectクラスのインスタンス。実行時型情報がないので、すべてObjectImpに見えてしまい散々
あぁ、せめてインスタンスからクラス名が知りたい...
作成したアプリケーションというのが、GUIアプリから起動するサーバのため、gdbstub.exeを使った実機デバッグを試みるも、ブレークポイントは設定できても、実行すると対象プロセスが即終了。あまりデバッガを試す時間もないので、仕方なくprintデバッグ
KJSのオブジェクトの実装クラスはObjectImpを継承するため、Collector::collect()で扱うものはすべてObjectクラスのインスタンス。実行時型情報がないので、すべてObjectImpに見えてしまい散々
あぁ、せめてインスタンスからクラス名が知りたい...