Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


茂木です。

呼び出し履歴は、もう試されたかもしれませんが、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+unsubscribe@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.