再現環境発見

| コメント(0) | トラックバック(0)

100%確実ではないけれども、再現させる方法だけは見つけたので。

Windows 7を起動して、評価に使用したExcel95ブックをExcel2007で開くだけ。

すると、再計算50%を過ぎたところあたりでExcelがエラー(動作を停止)を起こす。

ここら辺が微妙なんだけど、50%のときもあれば、そうでない場合もあり。

2回目には起こらないので、都度OS再起動が必要。

ところが、通常、プロセスの異常時には、「デバッグしますか?」のダイアログが出るのだけれど、このExcel2007は自動修復するのか、デバッガでアタッチするとプロセスが終了してしまう。

困ったことナリ。

デバッグモードでは再現したことがないので、あたりをつけようにも・・・

とりあえず全エクスポート関数の大部分をtry~catchで囲んでみたのだけれども、状況は好転せず。

困った時にはなんでもやってみる。

dumpbinを実行してみた。

/importsでは特に問題となる点は見つからなかったのだが、/exportsで少し気になる点を発見。

今回追加した関数が、あのC++特有の超長い関数名でエクスポートされていることがわかった。

・・・そういや、動くからって、.hに宣言書かなかったような・・・

無駄に長い関数名なので、もしかしたらそこで呼び出しに失敗している可能性はありそう。

直してみることにする。

 

そして、直したんだけれど、問題解消せず。

デバッグビルドのものを使ったり、デバッグ起動すると、再現せず。

トレースぶち込むか・・・

 

トレースぶち込み後の再現までできた。

トレースを見ると、どうも実装した関数内で処理が止まっている模様。

でもなぁ、ほとんどの部分はtry~catchで囲まれているんだよなぁ。
突き抜けてんのかなぁ・・・

止まっているからといって、その部分が停止原因とは限らないわけだが、もう少し調査が必要。

トラックバック(0)

トラックバックURL: https://blog.fne.jp/mt/mt-tb.cgi/90

コメントしちゃいなよ

    

サイトカウンタ

Total: 211,632 Hits, (Recent24Hours: 0 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2024/12/04 2:29:54 JST

このブログ記事について

このページは、ふぅみんが2010年2月10日 04:41に書いたブログ記事です。

ひとつ前のブログ記事は「できたと思ったら」です。

次のブログ記事は「やっちまった」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

2024年5月

 日   月   火   水   木   金   土 
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

埋め込みQRコード