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


お世話になっております。

WinDbgの起動も確認出来ました。

soffice_main.cxxに0除算のコードを埋め込んで実行した所、WinDbgが起動し、
問題箇所の特定も出来るようになりました。

茂木さんありがとう御座いました!

0:000:x86> !analyze -v
*******************************************************************************
*
  *
*                        Exception Analysis
  *
*
  *
*******************************************************************************


FAULTING_IP:
sofficeapp!soffice_main+6e
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\sofficemain.cxx
@ 55]
67fa5aae f7f9            idiv    eax,ecx

EXCEPTION_RECORD:  0000000067fa5aae -- (.exr 0x67fa5aae)
ExceptionAddress: 0000000067fd110c (sofficeapp!_imp_?coutstd)
   ExceptionCode: 4589f9f7
  ExceptionFlags: a6d868e4
NumberParameters: -774051758
   Parameter[0]: 00000000c483fffb
   Parameter[1]: 0000000003336808
   Parameter[2]: 000000000b6a0000
   Parameter[3]: 0000000001b8076a
   Parameter[4]: 000000006b000000
   Parameter[5]: 00000000f00500c0
   Parameter[6]: 000000005067fda6
   Parameter[7]: 00000000e8d84d8d
   Parameter[8]: 00000000fffc1e0a
   Parameter[9]: 000000008be04589
   Parameter[10]: 000000004d89e04d
   Parameter[11]: 00000000fc45c6dc
   Parameter[12]: 00000000dc558b01
   Parameter[13]: 00000000f04d8d52
   Parameter[14]: 00000000164415ff

FAULTING_THREAD:  0000000000001394

DEFAULT_BUCKET_ID:  ZEROED_STACK

PROCESS_NAME:  soffice.bin

ERROR_CODE: (NTSTATUS) 0xc0000094 - {

EXCEPTION_CODE: (NTSTATUS) 0xc0000094 - {

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

LAST_CONTROL_TRANSFER:  from 0000000076f5014d to 0000000076f615de

PRIMARY_PROBLEM_CLASS:  ZEROED_STACK

BUGCHECK_STR:  APPLICATION_FAULT_ZEROED_STACK

STACK_TEXT:
00d5f8ec 76f5014d 00d5f900 00d5f950 00000000
ntdll_76f40000!ZwRaiseException+0x12
00d5f8fc c0000094 00000000 00000000 67fa5aae
ntdll_76f40000!KiUserExceptionDispatcher+0x29
WARNING: Frame IP not in any known module. Following frames may be wrong.
00d5fe18 0135100a a81c5741 00d5fe30 0135103a 0xc0000094
00d5fe24 0135103a 00e73198 00d5fe48 01351078 soffice!sal_main+0xa
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\main.c @ 48]
00d5fe30 01351078 00000002 00e73198 00000002 soffice!main+0x1a
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\main.c @ 47]
00d5fe48 013512ca 01350000 00000000 00e44abc soffice!WinMain+0x28
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\main.c @ 47]
00d5fe94 764233aa 7efde000 00d5fee0 76f79ef2
soffice!__tmainCRTStartup+0x121
[f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 528]
00d5fea0 76f79ef2 7efde000 60d0c2f5 00000000
KERNEL32!BaseThreadInitThunk+0xe
00d5fee0 76f79ec5 0135119f 7efde000 00000000
ntdll_76f40000!__RtlUserThreadStart+0x70
00d5fef8 00000000 0135119f 7efde000 00000000
ntdll_76f40000!_RtlUserThreadStart+0x1b


FOLLOWUP_IP:
sofficeapp!soffice_main+6e
[c:\cygwin\home\test\libreoffice-4.0.3.3\desktop\source\app\sofficemain.cxx
@ 55]
67fa5aae f7f9            idiv    eax,ecx

FAULTING_SOURCE_CODE:
    51:     // free.toolcreator add start
    52:     int a = 1;
    53:     int b = -1;
    54:     int c = 0;
  55:     c = 3/(a+b);
    56: std::cout << "soffice_main() start\n";
    57:
    58:     // free.toolcreator add end
    59:     // This string is used during initialization of the Gtk+ VCL
module
    60:     aDesktop.SetAppName(
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("soffice")) );


SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  sofficeapp!soffice_main+6e

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: sofficeapp

IMAGE_NAME:  sofficeapp.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  519dcdc2

STACK_COMMAND:  ~0s ; kb

FAILURE_BUCKET_ID:  ZEROED_STACK_c0000094_sofficeapp.dll!soffice_main

BUCKET_ID:  X64_APPLICATION_FAULT_ZEROED_STACK_sofficeapp!soffice_main+6e

WATSON_IBUCKET:  -691253012

WATSON_IBUCKETTABLE:  1

WATSON_STAGEONE_URL:
http://watson.microsoft.com/StageOne/soffice_bin/4_0_3_3/519dcdda/sofficeapp_dll/4_0_3_3/519dcdc2/c0000094/00045aae.htm?Retriage=1

Followup: MachineOwner
---------

以上です。



2013年5月23日 7:59 Isamu Mogi <dyob@lunaport.net>:

山田さん

おお、上手くいったのですね!良かったです。よさげな新機能やパッチ書けたら
ぜひレビューに投げてください〜。

(2013/05/22 0:54), 山田太郎 wrote:
茂木さん、お世話になっております。

詳細な解説ありがとう御座いました。

gdbはPDBに対応していなかったんですね。

Visual Studio 2012 Express for Desktopでブレークポイントの設定まで確認出
来ました。

※make時にENABLE_SYMBOLS=trueを忘れていたためフルリビルド後に検証したため
 返信が遅れて大変申し訳ございません。

WinDBGに関してはこれより確認致します。

以上です。


2013年5月20日 19:37 Isamu Mogi <dyob@lunaport.net
<mailto:dyob@lunaport.net>>:

    山田さん

    こんにちは。茂木と申します。

    gdbはWindows上でのデバッグビルドで生成されるデバッグ情報に対応していない
    ため、VisualC++やWinDbgを使ってデバッグする必要があります。VC2012の
    Expressの場合、下記ででできます。

    1. デバッグビルドされたlibreofficeを起動する
    2. ツールバーの「アタッチ」ボタンかメニューの「デバッグ→プロセスにア
    タッチ」
    3. soffice.binを一覧から探して選ぶ
    4. ツールバーの一時停止ボタンかメニューの「デバッグ→すべて中断」
    5. ソースコードをIDE内に開けばブレークポイント置いたりとかできるよう
    になる

    起動した瞬間に落ちるなどの理由でアタッチできない場合、Express版だと対応
    できなかったと思うので、WinDbgを使うと良いです。下記に情報があります

https://wiki.documentfoundation.org/How_to_get_a_backtrace_with_WinDbg

    本当に起動した瞬間に落ちる場合下記のように、windbg -I をしておくと落ちた
    瞬間にwindbgが起動して原因のソースの箇所とかがわかって便利です。

http://stackoverflow.com/questions/5638251/setup-windbg-as-default-debugger

    (2013/05/20 4:19), 山田太郎 wrote:
     > 初めて投稿させて頂きます。
     >
     > 以下の環境で日本語版LibreOffice4.0.3.3をデバッグビルドしたのです
    が、デバッグシンボルが生成されていない様です。
     > どなたか解決方法をご存知の方いらっしゃいますでしょうか?
     >
     > ■参考にした手順
     > https://wiki.documentfoundation.org/Development/How_to_debug
     >
     > ■ソースファイル
     > http://ja.libreoffice.org/download/?type=src&version=4.0.3からダ
    ウンロードした
     > バージョン4.0.3.3ソースファイル
     >
     > ■ビルド環境
     > OS:Windows7(64bit)
     > Cygwin:1.7.18(0.263/5/3)
     > コンパイラ:Visual Studio 2012 Express for Desktop
     > make:LOパッチが当てられたGNU make 3.82
     > http://dev-www.libreoffice.org/bin/cygwin/make
     >
     > ■autogen.shに渡したパラメータ
     > $ ./autogen.sh --disable-activex --disable-atl
     > --with-nss-build-tools='/cygdrive/c/mozilla-build'
     > --with-ant-home='D:\apache-ant-1.9.0' --without-junit
     >   --with-cl-home='C:\PROGRA~2\MICROS~2.0\VC' --without-help
     > --without-myspell-dicts --enable-debug --with-lang="en-US ja"
     >
     > ■gdb起動結果
     > LOROOT=`pwd`
     > $ /opt/lo/bin/make debugrun
     > /opt/lo/bin/make -r -f
    /home/test/libreoffice-4.0.3.3/Makefile.top debugrun
     > make[1]: Entering directory `/home/test/libreoffice-4.0.3.3'
     > /opt/lo/bin/make -j 4 -rs -f Makefile.post debugrun
     > make[1]: Leaving directory `/home/test/libreoffice-4.0.3.3'
     >
     > $ cd $LOROOT/solver/wntmsci14.pro/installation/opt/program
    <http://wntmsci14.pro/installation/opt/program>
     >
     > $ gdb ./soffice.bin
     > GNU gdb (GDB) 7.6.50.20130508-cvs (cygwin-special)
     > Copyright (C) 2013 Free Software Foundation, Inc.
     > License GPLv3+: GNU GPL version 3 or later
    <http://gnu.org/licenses/gpl.html
     >>
     > This is free software: you are free to change and redistribute it.
     > There is NO WARRANTY, to the extent permitted by law.  Type "show
    copying"
     > and "show warranty" for details.
     > This GDB was configured as "i686-cygwin".
     > Type "show configuration" for configuration details.
     > For bug reporting instructions, please see:
     > <http://www.gnu.org/software/gdb/bugs/>...
     > Reading symbols from /home/test/libreoffice-4.0.3.3/solver/
     > wntmsci14.pro/installation/opt/program/soffice.bin...(no
    <http://wntmsci14.pro/installation/opt/program/soffice.bin...(no>
    debugging symbols
     > found)...done.
     > (gdb) q
     >
     > 以上、宜しくお願い致します。
     >


    --
    Unsubscribe instructions: E-mail to
    discuss+unsubscribe@ja.libreoffice.org
    <mailto:discuss%2Bunsubscribe@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





-- 
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.