茂木です。

呼び出し履歴は、もう試されたかもしれませんが、windbgのメニューの View → Call Stack
を選ぶと閲覧できる可能性があります。

しかし、スタックトレースを追ってみたところ、このスタックでは、クラッシュ原因となっ
たOSから送出された例外を一度キャッチした後なので、ちょっと情報が少ないと思います。
そのため、もし田中さんのほうでlibreofficeをコンパイルできる環境がもし整えることが
できたなら、その「一度キャッチするコード」である、

 sal/osl/w32/signal.cxx

の73行目付近、InitSignal関数の

 SetUnhandledExceptionFilter(SignalHandlerFunction);

を削除し、再コンパイルして実行すると、今度はクラッシュ原因となった例外を直接windbg
でキャッチできるようになるはずです。そこから呼び出し履歴を追えれば、かなりバグ調査
が捗るかと思います。

本当は、これらの処理を自動でやってくれるエラー報告プログラムがあれば良いのですが、
開発リソースが足りないため、やっていないそうです。

(2014/03/28 15:54), Tanaka-CS wrote:
> 田中秀宗です。
> 
> ありがとうございます。
> %AppData%\Roaming\LibreOffice をリネームして実行してみたのですが、
> 現象は変わらず、やはりエラーが出ます。
> 
> 
> vcl\win\source\app\salinst.cxx
> の、SalAbort関数の呼び出し元がどこかを知る方法はありませんでしょうか?
> Javaだと関数の呼び出し履歴が追いやすいのですが、
> C言語は未知の領域なので、ソースを見ても分かりませんでした。
> 
> 私がデバッグできれば問題は解決するのですが、
> ハードルはかなり高そうですね。
> 
> 
> 
> (2014年03月28日 12:23), Isamu Mogi wrote:
>> 茂木です。
>>
>> ありがとうございます。ちょっと確認してみますが、アプリ内で根本原因の例外を
>> 潰した後別の例外を投げ、それをwindbgが拾っている。というように見えるので、
>> 僕の手元で再現できないこともあり原因究明はなかなか難しそうです。
>>
>> もしかしたら設定ファイルが壊れていたりしていて、それが原因かもしれません。
>> 下記設定フォルダ
>>
>> %AppData%\Roaming\LibreOffice
>>
>> を、バックアップ&削除してからもう一度再現プログラムを実行を試してもらえますか?
>>
>>
>>

--
茂木 勇


-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted

メールによる返信